常用HTTP contentType与后端处理方式
常用HTTP contentType与后端处理方式
1、Content-Type:application/x-www-form-urlencoded; charset=UTF-8


对应的后端的处理方式,如果是单个参数去获取,那就用@RequestParam,如果是对应Java Bean,那就不需要任何注解
2、Content-Type:application/json;charset=UTF-8

对应的后端处理方式,设置@RequestBody

3、Content-Type:multipart/form-data;


2018-1-29下班总结:
用get方式发送参数,拼接在url后:

后端处理:


如果是Post请求:
1、前端传递的方式为:Body+application/x-www-form-urlencoded:


2、如果前端改成以json字符串的形式传递参数:

后端接收到json字符串,用阿里fastjson解析:

3、接着上一步的后端代码,如果前端改成form-data 的方式传递,则报错:

将后端的代码改一下:

2、2如果前端是body+x-www-form-urlencoded方式传参,后端在解析字符串时报错:

到这里,我们小小总结一下:
如果是POST+form-data的方式:
不需要做任何处理,直接用对象接收即可(不管有多少个对象):

如果是POST+x-www.form-urlencoded的方式,可以加@RequestParam注解来获取(如果不传,则报错:

),也可以不加@RequestParam来获取,获取不到值的时候不报错。
如果是POSt+json格式传递(浏览器为Request Payload,postman为raw格式)的方式:

后端需要用@RequestBody注解标识字段,@RequestBody的作用是接收Http请求中参数,调用HttpMessageConverter接口转化为json或xml数据并绑定到对象上。同理,@ResponseBody也是调用HttpMessageConverter接口将数据转换成json或xml格式的数据,返回给前端。

最终的结论:
json格式的数据用@RequestBody注解让HttpMessageConverter转换成json数据绑定到对象上;
urlencoded或者form-data一般都用@RequestParam注解来标注(算是个规范吧,不加也可以),当是自己封装的实体对象时,什么都不用加。
常用HTTP contentType与后端处理方式的更多相关文章
- .net 常用Response.ContentType
来源:http://blog.csdn.net/navy235/article/details/5982319 不同的ContentType 会影响客户端所看到的效果.默认的ContentType为 ...
- python前后端加密方式
后端加密方法: python后端加密方式: # 双重工加密 #bytes((7788).encode('utf-8')):为后端加密二把手,多加的锁,该参数可为空,必须加bytes才能实现 md5pa ...
- 【转】浅谈常用的几种web攻击方式
浅谈常用的几种web攻击方式 一.Dos攻击(Denial of Service attack) 是一种针对服务器的能够让服务器呈现静止状态的攻击方式.有时候也加服务停止攻击或拒绝服务攻击.其原理就是 ...
- C# ContentType: "application/json" 请求方式传json参数问题
处理Http请求时遇到的ContentType为application/json方式,记录下这种Post请求方式下如何传json参数: var request = (HttpWebRequest)We ...
- Spring MVC 前后端 Json 方式交互和处理
众所周知,在mvc中,数据是在各个层次之间进行流转是一个不争的事实. 而这种流转,也就会面临一些困境,这些困境,是由于数据在不同世界中的表现形式不同而造成的. 数据在页面上是一个扁平的,不带数据类 ...
- 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍
01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline ...
- openstack学习心得:glance 架构、概念、后端存储配置方式
glance 架构 glance 服务概述 Image 服务 使得用户可以发现.注册.检索虚拟机镜像.它对外提供REST API使得你能够查询虚拟机镜像元数据和检索一个真实的镜像.你可以通过镜像服务将 ...
- 前台返回json数据的常用方式+常用的AJAX请求后台数据方式
我个人开发常用的如下所示: 之所以像下面这样下,一是前台Ajax,二是为安卓提供接口数据 现在常用的是返回JSON数据,XML的时代一去不复返 JSON相对于XML要轻量级的多 对JSON不是十分熟悉 ...
- ASP.NET 常用状态(信息)保存方式
服务器端:Session(会话)/ Application/ Caching(缓存)/DataBase(数据库) Session: Session: 常用于保存登录用户ID.验证码 不同的浏览器不能共 ...
随机推荐
- linux安装composer及安装yii2
wget https://getcomposer.org/download/1.3.2/composer.phar mv composer.phar /usr/local/bin/composer c ...
- fafu 1413
叉积的运用 ,不断的用叉积去判断 最小的拼图, 刚开始对点进行排序,每个人的排序规则不同做法可能不同,我是按照点的x轴进行x轴相同用y小的在前面,然后每个点按照最下的点开始进行查找 每次从一个点出发然 ...
- 生产者消费者模型——wait/notify/notifyAll使用
告警系统架构如下 1. 数据处理系统处理完原始数据并入库后,发送消息到kafka系统: 2. 告警生产者从kafka系统查询消息存入告警消息队列: 3. 告警消费者从告警消息队列查询消息进行处理. 这 ...
- Request 对象 response 对象 常见属性
请求和响应 Express 应用使用回调函数的参数: request 和 response 对象来处理请求和响应的数据. app.get('/', function (req, res) { // - ...
- Linux服务器配置---安装vsftpd
安装vsftpd 大多数Linux系统都使用vsftpd,因此这里我们也安装vsftpd 1.安装vsftpd [root@localhost phpMyAdmin]# yum install -y ...
- .NET,ASP.NET,ASP.NET MVC 之间的区别
https://www.cnblogs.com/wwym/p/5555772.html
- sublime3 离线安装插件
直接去:https://packagecontrol.io/installation搜索插件,插件一般会有个git网址(格式化html的插件可以用这个:https://github.com/victo ...
- JavaScript replaceAll
网上的: String.prototype.replaceAll = function(str1, str2) { var str = this; var result = str.replace(e ...
- 32位MD5加密补齐丢失的0
/// <summary> /// 获取32位MD5加密字符串(已补完0) /// </summary> /// <param name="strWord&qu ...
- BZOJ1296: [SCOI2009]粉刷匠 DP
Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...