我似乎无法让这个为我工作,我已经在其他帖子中看到了这一点,并希望有人能够发现我做错了什么。我正试图得到这个休息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;
}
答案 0 :(得分:5)
接受请求正文的方法参数不应该用任何东西注释(少数情况除外,如个别形式参数和多部分)。因此,为了获得原始JSON,可以简单地添加一个String参数
public String setFeed(@PathParam("name")String name2,
@QueryParam("name") String name,
@Context UriInfo uriInfo,
String jsonBody){
或者如果你想做更常见的事情并使用POJO(所以你不需要自己解析JSON),你应该看看this answer