开发中的接口请求方式以及api工具的使用

开发中的接口请求方式以及api工具的使用

在这里插入图片描述

接口请求的八种方式:

1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)

2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改

3、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)

4、Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头)

5、Delete 请求服务器删除request-URL所标示的资源*(请求服务器删除页面)

6、Trace 回显服务器收到的请求,用于测试和诊断

7、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能)

8、Connect HTTP/1.1协议中能够将连接改为管道方式的代理服务器

Get和head被称为安全方法

它们只会从服务器获取数据而不会操作数据,数据不变就不会有问题

get 和post 的区别

  • 数据传输方式:

    • GET请求通过URL(统一资源定位符)将数据附加在请求行中进行传输。数据暴露在URL中,可被缓存、浏览器历史记录等记录下来,因此不适合传输敏感信息。
    • POST请求通过请求体将数据传输。数据不会暴露在URL中,而是被包含在请求体中,因此更适合传输敏感信息。
  • 数据长度限制:

    • GET请求对数据长度有限制,由URL长度限制(不同浏览器和服务器有不同限制),超过限制可能会导致请求被截断或拒绝。
    • POST请求对数据长度限制较少,主要受服务器的限制。
  • 安全性:

    • GET请求在浏览器历史记录中可见,也可以作为书签保存。如果传输敏感信息,这些信息可能会被他人获取。
    • POST请求相对于GET请求更安全,因为数据不会显示在URL中。
  • 数据类型:

    • GET请求通常用于获取数据,不应有任何副作用(无副作用的操作)。换句话说,对服务器的请求不会产生影响,仅用于获取数据。
    • POST请求通常用于向服务器提交数据,可能会对服务器状态产生影响,比如创建新的资源、更新数据等。
  • 缓存:

    • GET请求可以被浏览器缓存,可以通过使用缓存减少对服务器的请求次数。
    • POST请求默认不会被浏览器缓存。
  • 速度:

    • Get请求速度快

    • POST请求速度慢

      • post请求的过程:
        (1)浏览器请求tcp连接(第一次握手)
        (2)服务器答应进行tcp连接(第二次握手)
        (3)浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
        (4)服务器返回100 Continue响应
        (5)浏览器发送数据
        (6)服务器返回200 OK响应
        get请求的过程:
        (1)浏览器请求tcp连接(第一次握手)
        (2)服务器答应进行tcp连接(第二次握手)
        (3)浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
        (4)服务器返回200 OK响应
        get的总耗是post的2/3左右

API工具使用(eolinker、postman、postapi)

Postman

在这里插入图片描述

GET请求

GET请求仅用来获取数据,在Postman中进行GET请求时,如果需要携带参数,只需要在Params中添加相应的参数,最终请求时参数会以{KEY}={VALUE}的形式拼接在URL之后。
在这里插入图片描述
步骤:

  1. 选择请求类型为GET
  2. 输入需要请求的URL地址
  3. GET请求输入需要携带的参数信息,以key-value形式,可以为空
  4. 点击Send开始请求
  5. 查看请求结果和返回数据信息

POST请求

POST是向API接口提交数据的请求操作,可以根据我们提供的数据更新、删除指定的数据信息。

由于POST请求时可能会对服务端数据进行更改,因此大部分的POST请求都需要进行相关的校验,API校验相关的信息就需要在Authorization参数页面进行配置;而POST请求携带的相关数据可以在请求头Headers或者请求体Body中配置。
在这里插入图片描述
步骤:

  1. 选择请求类型为POST
  2. 填入需要请求的URL地址
  3. 如果API请求需要认证,则使用Authorization配置认证类型或在Headers请求头中使用token认证
  4. 选择Body标签,配置请求参数
  5. 请求参数使用时,选择raw即源码格式传输
  6. 选择JSON指参数以JSON格式输入
  7. 参数输入区域,以JSON格式写入多个参数,本质是key-value的对象形式
  8. 点击Send,开始发起请求
  9. 查看返回的请求结果信息

请求参数详解

Postman最常使用的GET和POST请求中,使用的参数类型有Params、Authorization、Headers、Body四种。

  • Params:配置GET类型的请求参数,执行时拼接在URL之后

  • Authorization:认证信息配置,POST请求时使用

  • Headers:POST请求时设置请求头信息,比如浏览器信息等会存在请求头中

  • Body:POST请求时的请求体信息,一般用于提交业务相关的参数信息

    • none:无,参数置空

    • from-data

      • 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息;

      • 由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
        在这里插入图片描述

    • x-www-from-urlencoded

      • 同样是key - value 格式输入,但不支持文件传输,与form-data区别在于http请求body格式不太一样,另外就是不可以设置content -type,而form-data是可以设置每个value的content -type
      • 会将表单内的数据转换为键值对,比如,username=张三
        在这里插入图片描述
    • raw

      • 源代码格式的参数信息,可以以Text、JavaScript、JSON、HTML、XML的格式写入参数,最常使用的时JSON格式数据的传输。
      • content-type= text/html(HTML 文档);text/plain(纯文本);text/css(CSS 样式表);application/json (json字符串)
        在这里插入图片描述
    • binary:二进制文件的传输

      • 相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。
        在这里插入图片描述
    • GraphQL:用于应用编程接口的查询语言

    multipart/form-data和x-www-form-urlencoded区别

    • multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,
    • x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的,只是最后会转化为一条信息
  • Cookies:用来对请求URL的Cookies信息进行管理

返回结果详解

  • Body
    • Pretty:结果美化展示,选择Pretty时,还可以针对结果数据展示的格式进行选择。如希望数据结果解析为:HTML、JSON、XML、TEXT等多种格式。
    • Raw:原生的,即不进行任何修饰的返回结果数据
    • Preview:预览,对返回数据的解析预览,如HTML会展示为网页信息
  • Cookies:返回结果中带有的Cookies信息
  • Headers:返回结果中的Header信息
  • Status:请求结果状态,代表请求是否成功或失败的状态码信息
  • Time:只请求时间
  • Size:请求结果数据的大小

后端代码层面处理

@RequestParam
		用来处理(前端)Content-Type: 为application/x-www-form-urlencoded或者form-data编码的内容
		该注解有两个属性: value、required;value用来指定要传入值的id名称,required用来指示参数是否必须绑定;
@RequestBody
		该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等;
		前端规定的是raw方式,那么就需要使用@RequestBody接收参数,注意这里Headers里需要以application/json作为Content-type
  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值