休息ApiPost请求
Rest Api Post request
我似乎无法让它为我工作,我在其他帖子中看到过这个,希望有人能够发现我在做什么 wrong.I 我正在尝试获取请求的主体这个休息 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;
}
接受请求正文的方法参数不应带有任何注释(除非在少数情况下,如单独的表单参数和多部分)。因此,要获得原始 JSON,您 可以 只需添加一个字符串参数
public String setFeed(@PathParam("name")String name2,
@QueryParam("name") String name,
@Context UriInfo uriInfo,
String jsonBody){
或者如果你想做更常见的事情并使用 POJO(这样你就不需要自己解析 JSON),你应该看看
很好的答案,但我想补充一点,您可以使用对象而不是字符串,REST 的 Jackson 将负责转换而无需任何进一步定义。
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String setFeed(@PathParam("name")String name2,
@QueryParam("name") String name,
MyJson json,
@Context UriInfo uriInfo){
MultivaluedMap<String,String> queryParams = uriInfo.getQueryParameters();
String query = uriInfo.getRequestUri().getQuery();
String response = queryParams.getFirst("name");
return response;
和作为 json 对象的 pojo:
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyJson{
private String name;
public MyJson(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
我似乎无法让它为我工作,我在其他帖子中看到过这个,希望有人能够发现我在做什么 wrong.I 我正在尝试获取请求的主体这个休息 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;
}
接受请求正文的方法参数不应带有任何注释(除非在少数情况下,如单独的表单参数和多部分)。因此,要获得原始 JSON,您 可以 只需添加一个字符串参数
public String setFeed(@PathParam("name")String name2,
@QueryParam("name") String name,
@Context UriInfo uriInfo,
String jsonBody){
或者如果你想做更常见的事情并使用 POJO(这样你就不需要自己解析 JSON),你应该看看
很好的答案,但我想补充一点,您可以使用对象而不是字符串,REST 的 Jackson 将负责转换而无需任何进一步定义。
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String setFeed(@PathParam("name")String name2,
@QueryParam("name") String name,
MyJson json,
@Context UriInfo uriInfo){
MultivaluedMap<String,String> queryParams = uriInfo.getQueryParameters();
String query = uriInfo.getRequestUri().getQuery();
String response = queryParams.getFirst("name");
return response;
和作为 json 对象的 pojo:
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyJson{
private String name;
public MyJson(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}