休息Api Post请求

时间:2015-08-12 13:49:10

标签: 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;

    } 

1 个答案:

答案 0 :(得分:5)

接受请求正文的方法参数不应该用任何东西注释(少数情况除外,如个别形式参数和多部分)。因此,为了获得原始JSON,可以简单地添加一个String参数

public String setFeed(@PathParam("name")String name2, 
                      @QueryParam("name") String name,
                      @Context UriInfo uriInfo,
                      String jsonBody){

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