详解get与post请求方式content-type与responseType@Requestbody与@Requestparam的使用场景
Posted 来老铁干了这碗代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解get与post请求方式content-type与responseType@Requestbody与@Requestparam的使用场景相关的知识,希望对你有一定的参考价值。
一. get与post请求方式
post:一般用来提交表单,请求数据被包装在body体中,是安全的;
get:一般用来获取数据信息,当然也可以用来获取表单,请求参数在url中,是不安全的;
二. content-type与responseType
1. content-type
contype-Type用来指定不同格式上传参数的请求信息(页面——>服务器)。
content-Type常用数据类型:
-
application/json
:把它作为请求头,则传递的消息主体是序列化后的 JSON 字符串。格式如下图所示:
-
application/x-www-form-urlencoded
:form表单默认的数据格式,提交的数据按照 key1=val1 & key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码(ajax默认的Content-Type类型)。格式示例如下图所示:
2. responseType
responseType用来指定后台返回响应数据的类型(服务器——>页面)。
三. @Requestbody与@Requestparam
1. @RequestParam
@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,像POST、DELETE等其它类型的请求也可以使用。
2. @RequestBody
@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded
编码格式的数据,比如:application/json
、application/xml
等类型的数据。通常用于接收POST、DELETE等类型的请求数据,GET类型也可以适用。
注意点:
- 项目中要加入处理
json
字符串的依赖(jar包),如jackson
@RequestBody
主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),所以只能发送POST请求jQuery
中,$.ajax()
默认发送的参数类型及编码为:application/x-www-form-urlcoded
,而@RequestBody
处理的参数类型及编码为:aplication/json
或者是application/xml
,通过contentType
属性来指定- 在传递之前,对JSON对象要使用
JSON.stringify()
,JSON.stringify()
方法将一个javascript
值(对象或者数组)转换为一个JSON
字符串 - 一个请求,只有一个
RequestBody
以上是关于详解get与post请求方式content-type与responseType@Requestbody与@Requestparam的使用场景的主要内容,如果未能解决你的问题,请参考以下文章