发表于: 2025-05-19 20:56:32

0 49


今天完成的任务:继续学习任务点:

  • 16.Post时,对比用Http Body接收参数,用param接收参数的区别,分别描述两种方式的使用场景

认知:参数可以通过两种方式传递:HTTP BodyURL参数(Params)

1. HTTP Body接收参数

  • 定义:参数放在请求体中,不会出现在URL中。
  • 适用场景
    • 传输大量数据(如JSON、XML等结构化数据)。
    • 传输敏感信息(如密码、令牌等),因为请求体内容不会直接暴露在URL中。
    • 支持多种数据格式(如application/jsonapplication/xmlmultipart/form-data等)。
  • 后端处理:通常使用@RequestBody注解(如Spring框架)或直接解析请求体内容。


示例:


POST /api/login HTTP/1.1

Content-Type: application/json

{"username": "admin", "password": "123456"}


2. URL参数(Params)接收参数

  • 定义:参数以键值对形式附加在URL末尾(如?key1=value1&key2=value2)。
  • 适用场景
    • 传输少量非敏感数据(如分页参数、过滤条件等)。
    • 需要缓存或书签的场景(因为URL参数会保留在浏览器历史记录中)。
    • 兼容性要求高(如某些老旧接口仅支持URL参数)。
  • 后端处理:通常使用@RequestParam注解(如Spring框架)或直接从查询字符串解析。


示例:POST /api/search?q=keyword&page=1 HTTP/1.1


主要区别对比


特性HTTP Body参数URL参数(Params)
位置请求体URL末尾(查询字符串)
安全性较高(不可见)较低(暴露在URL中)
数据量支持无限制(适合大量数据)受URL长度限制(通常约2KB-8KB)
数据格式支持复杂格式(JSON、XML等)仅键值对(key=value
缓存/历史记录不会被缓存或记录可能被缓存或记录

使用场景建议

  • 优先使用HTTP Body:当需要传输复杂数据、大量数据或敏感信息时。
  • 使用URL参数:当数据简单、非敏感且需要兼容性时(如GET请求的替代方案)。

遇到的问题:对HTTPbody参数有些熟悉,就是我使用的方法,对url参数看的直迷糊。。。

明天的问题:解决今天的问题,继续任务点。


返回列表 返回列表
评论

    分享到