详解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常用数据类型:

  1. application/json:把它作为请求头,则传递的消息主体是序列化后的 JSON 字符串。格式如下图所示:

  2. 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/jsonapplication/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的使用场景的主要内容,如果未能解决你的问题,请参考以下文章

Get,Post请求方式详解

postman发送post、get请求的区别与参数填写方式

接口测试实战| GET/POST 请求区别详解

详解HTTP请求:get方法和post方法的区别

get和post区别

Get,Post请求方式经典详解