我编写了下面的resteasy服务,并将其余URL中的request参数作为/ {categoryId},并将其作为String categoryID输入到我的方法。
@Path("/getArticlebyCat/{categoryID}")
@PermitAll
@GET
@Produces("application/json")
public Response searchArticleByCategoryID(String categoryID) {
List<Article> articleList = new ArrayList();
try {
System.out.println("categoryID>>>"+categoryID);
articleList = searchService.findArticleByCategoyID(categoryID);
} catch (Exception e) {
Logger.getLogger(RestServiceOne.class.getName()).log(Level.SEVERE, null, e);
e.printStackTrace();
}
Response response = Response.status(Response.Status.OK).entity(articleList).build();
return response;
}
但是从服务日志中,我没有通过rest call.in传递 categoryID 值。它是空的。请帮我解决这个问题。 先感谢您 !
答案 0 :(得分:2)
@PathParam是一个参数注释,允许您映射变量 URI路径片段进入方法调用。
所以你必须在这里使用@PathParam
注释。
@Path("/getArticlebyCat/{categoryID}")
@PermitAll
@GET
@Produces("application/json")
public Response searchArticleByCategoryID(@PathParam("categoryID")String categoryID) {
}
答案 1 :(得分:1)
你能否发布你的URL,因为我可以看到你要求获取get方法,你应该使用类似@PathParam(String categoryId)的东西。