我已经编写了下面的 resteasy 服务,并将其余 URL 中的请求参数作为/{categoryId} 作为/{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 传递的 categoryID 值 call.it 为空。 请帮我解决这个问题。提前谢谢你!
@PathParam是一个参数注释,允许您映射变量 URI 路径片段到方法调用中。
所以你必须在这里使用@PathParam
注释。
@Path("/getArticlebyCat/{categoryID}")
@PermitAll
@GET
@Produces("application/json")
public Response searchArticleByCategoryID(@PathParam("categoryID")String categoryID) {
}
有关路径参数的更多信息
你能不能也发布你的URL,因为我可以看到你正在请求get方法,你应该使用它类似于@PathParam(字符串类别ID(。