我在这个球衣Java类中做错了什么?

时间:2014-08-01 20:34:57

标签: java jersey jax-rs

这是班级: -

 package com.bablo.rest;

 import javax.websocket.server.PathParam;
 import javax.ws.rs.Path;

 @Path("/")
 public class Library {
   @Produces("text/plain") 
   @Path("/books/{name}")
   public String getBook(@PathParam("name") String name){
     System.out.println(name);
      return "My Name is Anthony Goncalves";
  }
}

将此作为错误

子资源定位器public java.lang.String com.bablo.rest.Library.geBook(java.lang.String)不能有实体参数。尝试将参数移动到相应的资源方法。

在索引为0的参数处缺少方法public java.lang.String com.bablo.rest.Library.getBook(java.lang.String)的依赖项

我正在通过浏览器调用此Web服务,如此

     http://localhost:8080/JAXRS-HelloWorld/rest/books/bablo

我也在做卷毛:

     curl -X GET http://localhost:8080/JAXRS-HelloWorld/rest/books/bablo

3 个答案:

答案 0 :(得分:8)

您需要在方法上方添加@POST@GET标记。

答案 1 :(得分:3)

我相信你打算用

javax.ws.rs.PathParam

而不是

javax.websocket.server.PathParam

答案 2 :(得分:0)

我遇到了相同的错误消息,但在我的情况下原因不同。 您可能一直在使用:

@Post (oracle.jdbc.proxy.annotation)

但我们应该使用:

@POST (javax.ws.rs.POST)