SpringBoot-关于RESTFUL请求提交

使用springboot框架来开发的时候,大部分还是使用restful接口。
最近在开发使用restful的时候遇到一些问题,在此分享下。

因为只是开发了后台接口,所以我前端采用的postman进行模拟提交。
postman在body里面提供了form-data,x-www-form-urlencoded,raw,binay
四种形式。关于这几种的区别资料很多,这里不详细说明。

一开始我自然选择了raw形式,直接按照json格式模拟,后台restful接口采用
@PostMapping注解接收,没有任何问题。但我切换成form-data,按照格式直接填入key-value之后,这时候报错了。Http 415 "Unsupported Media Type" error。此问题找了很久才发现无法使用@PostMapping来接收。必须写成类似如下格式:
@RequestMapping(value="/user", method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)。

测试之后发现没问题,但是当我替换成PUT请求之后,发现获取的入参变成空了。这是因为可能是API只能解析GET、POST方式的表单提交。其他一些传统的MVC框架也有类似现象。这个时候就需要自己注入对PUT请求的处理。这个在springboot里面处理起来就非常方便了,直接使用注解注入即可。
@Component
public class PutFilter extends HttpPutFormContentFilter {
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,380评论 19 139
  • 整体Retrofit内容如下: 1、Retrofit解析1之前哨站——理解RESTful2、Retrofit解析2...
    隔壁老李头阅读 15,281评论 4 39
  • 导读: 现在的web和移动开发,常常会调用服务器提供restful接口进行数据请求,为了调试,一般会先用工具进行测...
    常大鹏阅读 103,947评论 13 143
  • 第三讲 宋代 一、宋代政府组成 1、中央政府。相权低落,君权提升。中书则为丞相,地位独重,与枢密院(管军事)同称两...
    3d38d97ee33d阅读 3,823评论 0 0
  • 本作品参与#热血九月,迷彩青春#军训线上作品征集活动,本人承诺,作品内容为原创,且并未在其他平台上发表过。 一觉醒...
    很浅日记阅读 3,030评论 0 8