RESTeasy服务入参为空

RESTeasy service input parameter is empty

我已经编写了下面的 resteasy 服务,并将 rest URL 的请求参数作为 /{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 传递的 categoryID 值 call.it 为空。请帮我解决这个问题。 先感谢您 !

@PathParam is a parameter annotation which allows you to map variable URI path fragments into your method call.

所以你必须在这里使用@PathParam注释。

@Path("/getArticlebyCat/{categoryID}")
@PermitAll
@GET
@Produces("application/json")
public Response searchArticleByCategoryID(@PathParam("categoryID")String categoryID) {

}

More on Path Params

你也可以 post 你的 URL 吗,我看到你在请求 get 方法,你应该使用类似 @PathParam(String categoryId) 的方法。