我正在使用Spring Rest Web服务。我无法使用JSON
将Object
转换为Java @RequestBody
。
控制器方法:
@RequestMapping(value="/test",method=RequestMethod.POST)
public @ResponseBody String test(@RequestBody Student s)
{
System.out.print(s.getName()+s.getMark()+s.getRollNo());
return "ok";
}
POJO课程:
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private int mark;
private String name;
private int rollNo;
// getters and setters
}
Serlvet-context.xml中的MessageConverter:
<beans:bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></beans:bean>
<beans:bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<beans:property name="messageConverters">
<beans:list>
<beans:ref bean="jacksonMessageConverter"/>
</beans:list>
</beans:property>
</beans:bean>
我使用POSTMAN
rest客户端chrome插件来调用webservice。 JSON object
传递的是:
{"mark":30,"name":"sam","rollNo":100}
我正在&#39; 415 Unsupported Media Type
&#39;作为调用Web服务时的响应。
请帮忙。提前谢谢!
答案 0 :(得分:5)
问题在于您为POSTMAN客户端调用Controller的方式。
它缺少Content-Type: application/json
HTTP标头
答案 1 :(得分:0)
只需这样做
@RequestMapping(value="/test",method=RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE)