休息Api Post请求

wrt*_*wrt 1 java rest jax-rs

我似乎无法让这个为我工作,我已经在其他帖子中看到这一点,并希望有人可能能够发现我做错了什么.我正试图得到这个休息api的请求的身体但似乎无法拉回我需要的东西,然后在下面的字符串中得到null.

@POST
    @Path("/SetFeeds")
    @Consumes(MediaType.APPLICATION_JSON)   
    @Produces(MediaType.APPLICATION_JSON) 
    public String setFeed(@PathParam("name")String name2, @QueryParam("name") String name,@Context UriInfo uriInfo){                
            MultivaluedMap<String,String> queryParams = uriInfo.getQueryParameters();
            String query = uriInfo.getRequestUri().getQuery();
            String response = queryParams.getFirst("name");

            return response;

    } 
Run Code Online (Sandbox Code Playgroud)

Pau*_*tha 5

接受请求主体的方法参数不应该用任何东西注释(除了少数情况,如单独的形式参数和多部分).因此,要获得原始JSON,你可以简单地添加一个字符串参数

public String setFeed(@PathParam("name")String name2, 
                      @QueryParam("name") String name,
                      @Context UriInfo uriInfo,
                      String jsonBody){
Run Code Online (Sandbox Code Playgroud)

或者如果你想做更常见的事情并使用POJO(所以你不需要自己解析JSON),你应该看看这个答案