Spring MVC获取不到post提交的multipart/form-data格式的数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30038111/article/details/82885225

我们在写接口时,经常会用postman测试接口。前段时间我写接口时,发现postform-data提交数据,后端竟然接收不到请求参数,而使用postx-www-form-urlencoded方式提交数据,后端可以接收到参数。为什么?

postmanform-data是指multipart/form-data,即使用二进制传输数据,并且所有的数据不进行编码;而x-www-form-urlencoded是对数据编码后再传输。

怎么使用postmanform-data传递参数,并且后端可以接收到参数呢?
spring的配置文件中配置CommonsMultipartResolver即可

<bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>

测试接口:

@Controller
@RequestMapping("/device")
public class DeviceController {
    @ResponseBody
    @RequestMapping("/list")
    public Object list(Integer userId){
        if(userId == null){
            return JsonResult.fail(GlobalResultStatus.PARAM_MISSING);
        }
        return JsonResult.success();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_30038111/article/details/82885225