繁体   English   中英

Jersey REST api 多种资源

[英]Jersey REST api multiple resources

请参阅下面的代码。 我可以访问http://localhost:8080/messengerdemo/messages并与所有 API 交互,但每次访问http://localhost:8080/messengerdemo/profiles 时,我都会收到 404 not found 错误。 我做错了什么? 我是初学者,正在尝试学习球衣和 REST API。

网页.xml

  <servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>org.learn.rest.messengerdemo.resources</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

消息资源

@Path("/messages")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class MessageResource {
   MessageService messageService = new MessageService();

   @GET
   public List<Message> getMessages() {
      return messageService.getAllMessages();
   }
}

个人资料资源。

@Path("/profiles")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ProfileResource {

   private ProfileService profileservice = new ProfileService();

   @GET
   public List<Profile> getAllProfiles() {
      return profileservice.getAllProfiles();
   }
}

删除所有相关类并重新创建它们后。 这一切都奏效了。

我想这是因为我没有检查我的 REST 客户端工具中的Content-Type是否设置为application/json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM