Spring MVC獲取不到post提交的multipart/form-data格式的資料
阿新 • • 發佈:2018-11-08
我們在寫介面時,經常會用postman
測試介面。前段時間我寫介面時,發現post
的form-data
提交資料,後端竟然接收不到請求引數,而使用post
的x-www-form-urlencoded
方式提交資料,後端可以接收到引數。為什麼?
postman
的form-data
是指multipart/form-data
,即使用二進位制傳輸資料,並且所有的資料不進行編碼;而x-www-form-urlencoded
是對資料編碼後再傳輸。
怎麼使用postman
的form-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(); } }