Har*_*der 17 java rest spring spring-mvc
使用spring的网络服务,我必须从我的帖子请求的主体中获取参数?身体的内容如下: -
source=”mysource”
&json=
{
"items": [
{
"username": "test1",
"allowed": true
},
{
"username": "test2",
"allowed": false
}
]
}
Run Code Online (Sandbox Code Playgroud)
网络服务方法如下: -
@RequestMapping(value = "/saveData", headers="Content-Type=application/json", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Boolean> saveData(@RequestBody String a) throws MyException {
return new ResponseEntity<Boolean>(uiRequestProcessor.saveData(a),HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
请让我知道如何从身体获取参数?我可以把整个身体都放在我的绳子里,但我认为这不是一个有效的方法.请告诉我如何进一步处理.
Jas*_*son 18
您可以根据要求获得参数.
@ResponseBody
public ResponseEntity<Boolean> saveData(HttpServletRequest request,
HttpServletResponse response, Model model){
String jsonString = request.getParameter("json");
}
Run Code Online (Sandbox Code Playgroud)
alo*_*war 13
您可以将整个帖子正文放入POJO中.以下是类似的东西
@RequestMapping(value = { "/api/pojo/edit" }, method = RequestMethod.POST, produces = "application/json", consumes = "application/json")
@ResponseBody
public Boolean editWinner( @RequestBody Pojo pojo) {
Run Code Online (Sandbox Code Playgroud)
Pojo中的每个字段(包括getter/setter)应该与控制器接收的Json请求对象匹配.
您可以使用将json绑定到POJO MappingJacksonHttpMessageConverter
.因此您的控制器签名可以是: -
public ResponseEntity<Boolean> saveData(@RequestBody RequestDTO req)
Run Code Online (Sandbox Code Playgroud)
RequestDTO需要是一个适当注释的bean,以便与jackson序列化/反序列化一起使用.你的*-servlet.xml文件应该在RequestMappingHandler中注册Jackson消息转换器,如下所示: -
<list >
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用@RequestBodyParam
@RequestMapping(value = "/saveData", headers="Content-Type=application/json", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Boolean> saveData(@RequestBodyParam String source,@RequestBodyParam JsonDto json) throws MyException {
...
}
Run Code Online (Sandbox Code Playgroud)
https://github.com/LambdaExpression/RequestBodyParam
归档时间: |
|
查看次数: |
106477 次 |
最近记录: |