HTTP请求参数

HTTP协议支持多种数据格式以及传输数据方式

一、数据格式

1. JSON(JavaScript Object Notation)

一种轻量级的数据交换格式,易于阅读和编写,常用于Web开发中的数据交互。示例:

{
    "name": "jack",
    "age": 30
}
2. XML(eXtensible Markup Language)

一种标记语言,用于传输和存储数据,具有良好的扩展性,但相对于JSON而言语法较为繁琐。示例:

<user>
    <name>jack</name>
    <age>30</age>
</user>
3. Form-URLencoded

使用 application/x-www-form-urlencoded格式,通常用于HTML表单数据的编码格式,通过将字段和值进行URL编码的方式进行数据传输。示例:?name=John&age=30

4. Multipart form-data

用于在HTTP请求中传输二进制数据或文件,常用于文件上传的场景。它允许同时传输文本数据和二进制数据,适合复杂的数据交互需求。

在API测试工具中:

  1. None:表示HTTP请求中没有附带任何特定的数据格式,通常用于GET请求或者一些不需要在请求体中携带数据的请求。
  2. Form-Data:表示使用"multipart/form-data"格式,在HTTP请求中用于上传文件或二进制数据。这种格式通常用于表单提交和文件上传。
  3. x-www-form-urlencoded:表示使用"x-www-form-urlencoded"格式,在HTTP请求中用于将表单数据编码为URL参数的形式进行传输。这种格式通常用于POST请求中的表单数据提交。
  4. Raw:表示直接在HTTP请求的请求体中以原始的数据格式进行数据传输,例如JSON、XML等。开发人员可以根据具体的需求自由选择要发送的数据格式。
  5. Binary:表示以二进制形式传输数据,通常用于传输图片、音频、视频等二进制文件数据。

二、数据传输方式

1. 查询参数(Query Parameters):

附加在URL路径之后,以问号(?)开头,多个参数之间使用“&”符号分隔.

例如:https://www.baidu.com/users?name=John&age=30

使用x-www-form-urlencoded 的数据格式也会将数据拼接到URL。

2. 请求头(Request Headers):

包含在HTTP请求头中的键值对,用于传递额外的信息,例如认证信息、内容类型等。

3. 请求体(Request Body):

通常用于POST、PUT等请求方法中,包含要发送的数据,可以是JSON、XML、表单数据等格式。

这些HTTP请求参数可以通过不同的方式传递和处理,对于不同的HTTP请求类型和目标服务端,参数的使用和格式可能会有所不同。

@RequesetParam 和 @RequestBody

这个两个注解是Spring框架中用于处理HTTP请求参数的注解。

@RequestParam:

这个注解用于从URL的查询字字符串或表单数据中获取请求参数值。它通常用于GET请求或使用application/x-www-form-urlencoded格式提交的POST请求,可以指定参数名称、是否必需以及默认值等参数属性

使用实例:

@GetMapping("/book")
public ResponseEntity<List<Book>> getUsers(@RequestParam("page") int page, @RequestParam("size") int size) {
    // ...
}
@RequestBody

注解用于从请求体中获取请求参数值,主要用于POST、PUT等请求方法,并且通常与application/jsonappliaction/xml等格式一起使用。它可以将请求体中的数据反系列化为指定的Java对象

获取JSON请求体参数:

@PostMapping("/book")
public ResponseEntity<Book> createBook(@RequestBody Book book) {
    // ...
}

@RequestParam用于获取URL查询字符串或表单数据的参数。

@RequestBody用于获取请求体中的参数,并将其转换为Java对象。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值