Http Body 的四种格式

Http Body 的四种格式

1、参考资料

http的请求体body的几种数据格式

HTTP协议之multipart/form-data请求分析

2、Http Body 的四种格式

在 Postman 的请求体中有这样四种格式:form-datax-www-from-urlencodedrawbinary,那么这四种格式分别代表什么呢?

image-20210129180306059

2.1、form-data

form-data 的作用

form-data 就是 Http 协议中的 multipart/form-data,表示以表单形式提交,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。

使用 form-data 传输字符串键值对

在 Postman 选择 Body 的格式为 form-data

image-20210129183931356

Content-Type 字段的值为 multipart/form-data,并且使用 boundary 作为边界来划分每对 key-value 键值对

image-20210130090417707

使用 form-data 传输文件

如何在 Postman 中传输文件?在 Postman 选择 Body 的格式为 form-data,输入 Key 的时候选择【File】即可上传文件

image-20210129182954381

Content-Type 字段的值为 multipart/form-data,并且使用 boundary 作为边界来划分每对 key-value 键值对(文件和文件名也可以看作是 key-value 键值对的关系)

image-20210129183354826

使用 form-data 同时传输字符串键值对和文件

在 Postman 选择 Body 的格式为 form-data,添加字符串键值对和文件

image-20210129210327861

呐,其实传输文件和传输字符串键值对也没啥区别嘛~~~

image-20210129210606072

2.2、x-www-from-urlencoded

x-www-from-urlencoded 的作用

application/x-www-from-urlencoded 会将表单内的数据转换为键值对,比如 name=oneby&hobby=coding

演示 x-www-from-urlencoded

在 Postman 选择 Body 的格式为 x-www-from-urlencoded

image-20210129211005840

Content-Type 字段的值为 application/x-www-form-urlencoded,表单提交的参数以 key-value 键值对的形式被封装到请求体中

image-20210129211057478

2.3、raw

raw 的作用

可以上传任意格式的文本

  1. 选择 text,则请求头是:text/plain
  2. 选择 javascript,则请求头是:application/javascript
  3. 选择 json,则请求头是:application/json (如果想以 json 格式传参,就用 raw+json 就行了)
  4. 选择 html,则请求头是:text/html
  5. 选择 application/xml,则请求头是:application/xml

image-20210129211758647

演示 raw 传输 json 字符串

在 Postman 选择 Body 的格式为 raw,并且选择 application/json

image-20210129211930198

Content-Type 字段的值为 application/json,请求体内容就是我们填入的 json 字符串

image-20210129212322247

2.4、binary

binary 的作用

binary 通常用来上传文件,由于没有键值,所以,一次只能上传一个文件(一般用的不多)

演示 binary 传输单个文件

在 Postman 选择 Body 的格式为 binary,并且选择要上传的文件

image-20210129212649899

Content-Type 字段的值为 application/json,只有传输一个文件,因此请求体内容就是文件内容

image-20210129212806622

  • 14
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Node.js 是一个非阻塞 I/O 的环境,能够快速地构建高效的网络应用程序。而 Express 则是 Node.js 中最受欢迎的 Web 框架之一,它为 Node.js 提供了大量的功能和模块。其中,解析 POST 请求的数据格式是 Express 最常用的功能之一。 Express 支持解析四种 POST 请求的数据格式:URL-encoded 格式、JSON 格式、Raw 格式和 multipart/form-data 格式。 1. URL-encoded 格式:这是最常用的 POST 数据格式,也是默认格式。它的数据格式类似于 URL 查询字符串,通过 key=value 的形式传递参数。Express 提供了 body-parser 中间件,可以自动将 URL-encoded 格式请求数据解析成 JSON 格式。 2. JSON 格式:JSON 是一种轻量级的数据交换格式,它比 XML 更加简洁易懂,也更加易于解析。如果服务端需要处理 JSON 格式请求,可以使用 express.json() 中间件来解析请求数据。 3. Raw 格式:Raw 格式是一种原始数据格式,不做任何编码和处理。如果客户端发送的 POST 请求数据是 Raw 格式的,服务端需要使用 body-parser 中间件提供的 raw() 方法解析请求数据,将其转换成 Buffer 类型。 4. multipart/form-data 格式:这种格式常用于上传文件或者提交包含二进制数据的表单。如果服务端需要处理 multipart/form-data 格式请求,可以使用 multer 中间件来解析请求数据。multer 中间件可以处理文件上传,同时还支持设置上传文件的限制条件。 综上所述,Express 中提供了多种中间件来解析不同格式的 POST 请求数据,开发者可以根据实际需求选择对应的中间件来使用。这些中间件的使用方式都非常简单,在应用程序中添加一条或几条中间件即可完成对 POST 请求数据的解析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值