我正在使用Spring4来设计REST。但是,当我使用JsonDoc记录它时,它给了我一个错误:
服务器拒绝此请求,因为请求实体的格式不受请求方法的请求资源的支持。 Apache Tomcat/7.0.62 ",“状态”:415,"statusText":“不支持媒体类型”}
@ApiMethod
@ApiHeaders(headers={ @ApiHeader(name="Content-Type", allowedvalues="application/json",description="application/json")})
@RequestMapping(value="/test" ,method=RequestMethod.POST)
public @ApiResponseObject @ResponseBody ResponseMessage test(@ApiBodyObject @RequestBody TestDto test){
System.out.println(test.getId());
return testService.addTestMessage("hello demo");
}我怎么测试它呢?
发布于 2019-04-30 05:05:03
检查内容类型和有效负载格式。
可能有一些不匹配的属性。
发布于 2015-11-21 10:00:02
我相信这与JSONDoc无关。您需要检查是否发送了有效的内容类型,比如application/json。
还请检查TestDto JSON表示是否正确地转换为JAVA。如果您的JSON字符串无法转换java对象,Spring将抛出此错误。
如果您正在使用Jackson,您可以使用下面的示例获取异常并查看原因。
String myJsonString="Your JSON String";
ObjectMapper mapper = new ObjectMapper();
try {
mapper.readValue(myJsonString,TestDto.class);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}https://stackoverflow.com/questions/32071946
复制相似问题