用postman怎样获取form-data方式POST的数据

转载:怎样获取form-data方式POST的数据_laokaizzz的专栏-CSDN博客

用x-www-form-urlencoded方式提交表单就可以正常绑定数据,但是用form-data方式提交就绑定不了:

  1. @Controller

  2. @RequestMapping("/tag")

  3. public class TagController {

  4. @Autowired

  5. private NanTianMenFacade nanTianMenFacade;

  6. @RequestMapping(value = "/uploadTags")

  7. @ResponseBody

  8. public TagUploadResult uploadTags(TagParams params) {

  9. String tagIds = params.getTagIds();

  10. String uuid = params.getUuid();

  11. TagUploadResult result = null;

  12. try {

  13. result = nanTianMenFacade.uploadTags(tagIds, uuid);

  14. } catch (Exception e) {

  15. result = new TagUploadResult();

  16. result.setS(0);

  17. }

  18. return result;

  19. }

  20. }

对于我来说,一直都是用x-www-form-urlencoded提交表单数据,除非是要上传文件,才会使用form-data方式。也一直以为Spring对不同的提交方式应该是透明的。不过确实用form-data提交普通表单,确实是拿不到提交的数据。DEBUG发现, request.getParameterMap() 返回的就是空的!

然后发现 org.apache.commons.io.IOUtils.toString(request.getInputStream()); 其实是有返回提交的数据的:

  1. @Controller
    @RequestMapping("/tag")
    public class TagController {
        @Autowired
        private NanTianMenFacade nanTianMenFacade;
        @RequestMapping(value = "/uploadTags")
        @ResponseBody
        public TagUploadResult uploadTags(TagParams params) {
            String tagIds = params.getTagIds();
            String uuid = params.getUuid();
            TagUploadResult result = null;
            try {
                result = nanTianMenFacade.uploadTags(tagIds, uuid);
            } catch (Exception e) {
                result = new TagUploadResult();
                result.setS(0);
            }
            return result;
        }
    }

也就是数据其实是有正常提交到后台的。那么就是这种方式提交的数据,并没有放在pararmeterMap中了。而是要自己去解析这个inputstream的内容,再放回parameterMap中,这样Spring才能够绑定?这个不就是 multipartResolver 做的事情吗?试着配置了一下,发现果然可以了:加油

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值