【发布时间】:2018-09-15 03:34:34
【问题描述】:
我正在将@RestControllers 与所有请求都是POST 请求的应用程序一起使用...正如我从this post 中了解到的,您不能将单个后置参数映射到单个方法参数,而是需要包装一个对象中的所有参数,然后将此对象用作带有@RequestBody注释的方法参数,因此
@RequestMapping(value="/requestotp",method = RequestMethod.POST)
public String requestOTP( @RequestParam(value="idNumber") String idNumber , @RequestParam(value="applicationId") String applicationId) {
return customerService.requestOTP(idNumber, applicationId);
不适用于 POST 正文 {"idNumber":"345","applicationId":"64536"} 的请求
我的问题是我有 A LOT 的 POST 请求,每个只有一两个参数,创建所有这些对象只是为了接收里面的请求会很乏味......那么还有其他类似于get请求参数(URL参数)的处理方式吗?
【问题讨论】:
-
您的请求正文为 json 格式,您正在接收表单类型的数据。请将请求正文更改为非 json 类型的表单类型
-
我正在尝试使用高级休息客户端,我看不到表单类型...你的意思是
multipart/form-data吗? -
不,您应该以 form-data 格式发送数据
-
您可以将所有参数绑定在单个类中,并将其作为@RequestBody 接受,并根据您的要求使用getter setter获取参数。
标签: spring spring-mvc spring-restcontroller