【问题标题】:jersey just display letter ‘GET’球衣只显示字母“GET”
【发布时间】:2014-03-22 12:42:24
【问题描述】:

我在我的项目中使用 jersey 来实现 RESTful 服务。在我输入网址后,我的浏览器只显示字符“GET”。不知道哪里错了。

这里是web.xml

<servlet>
  <servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
  com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
  <init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>com.bcom.restful.server.sequence</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>Jersey REST Service</servlet-name>
  <url-pattern>/restfulService/*</url-pattern>
</servlet-mapping>  

这里是资源类:

@Path("/tenant/{tId}/seqContinue/{sName}")
@Produces(MediaType.APPLICATION_JSON)
public class SequenceContinueService {

    private ISequenceGenerator sequenceGenerator;

    @GET
    public Sequence getSequenceContinue(@PathParam("tId") String tenantId,
            @PathParam("sName") String seqName) {

        if (!hasParams()) {

            try {
                Sequence seq = new Sequence();
                  seq.setSeqenceStr(Convert
                        .toString(sequenceGenerator.nextSequence(seqName))) ;
                  return seq;
            } catch (ApplicationException e) {
                ResponseBuilder builder = Response
                        .status(Status.INTERNAL_SERVER_ERROR);
                builder.type("application/json");
                builder.entity(e.getMessage());
                throw new WebApplicationException(builder.build());

            }

        }
        return null;
    }

}

浏览器只在屏幕上显示字符“GET”。

【问题讨论】:

  • 您在浏览器中尝试的 URL 是什么? Sequence 可以格式化为 JSON 格式吗?
  • 您是否尝试过调试服务,至少知道实际调用了正确的 Web 服务方法?您还可以使用环境详细信息(API 版本、应用程序服务器)扩展您的问题。

标签: java jersey


【解决方案1】:

如果你想要JSON support with Jersey 1.*,你必须把这个init-param添加到你的servlet配置中:

<init-param>
    <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
    <param-value>true</param-value>
</init-param>

您可能还需要扩展以下内容,以让 Jersey 检测 JSON 提供程序类:

<init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>com.bcom.restful.server.sequence;org.codehaus.jackson.jaxrs</param-value>
</init-param>

同一主题的其他材料:

【讨论】:

    猜你喜欢
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 2013-08-11
    相关资源
    最近更新 更多