? 表示查询参数的开始
URL 中 第一个查询参数 前必须用 ?。
格式:
https://example.com/path?key1=value1
例子:
/app/getDirector?prefix=app/android/publish/
- 这里 prefix=app/android/publish/ 是第一个查询参数。
& 表示追加查询参数
URL 中 第二个及以后的查询参数 用 & 连接。
格式:
https://example.com/path?key1=value1&key2=value2
例子:
/app/getDirector?prefix=app/android/publish/&limit=10&sort=desc
- prefix 是第一个查询参数,用 ? 开始。
- limit 和 sort 是后续参数,用 & 连接。
总结
- 第一个查询参数前必须用 ?。
- 后续参数前用 &。
- 如果 URL 本身没有查询参数,直接加 ?。
- 如果 URL 已经有查询参数,再加新参数就用 &。
其他
- URL 中的查询参数顺序一般无所谓(除非后端对顺序敏感,很少见)。
- 参数值中如果包含特殊字符(如 /、&、空格等),需要用 encodeURIComponent 或 URL 编码。
查询参数和路径参数并不限于 GET 请求
- 路径参数(Path Parameter)
定义在 URL 路径中,例如:
@router.get("/users/{user_id}")
async def get_user(user_id: int):
...
{user_id} 可以出现在 GET、POST、PUT、DELETE 等任何 HTTP 方法中。
作用:标识资源或操作的对象,常用于 REST 风格 API。
- 查询参数(Query Parameter)
URL ?key=value&key2=value2 形式。
GET 请求最常用,但 POST、PUT 等请求也可以使用查询参数,只是 语义上 GET 用查询参数更合适。
示例:
# GET
GET /users?role=admin&page=2
# POST
POST /users?invite_code=ABC123
POST 请求一般把大数据、敏感数据放在 请求体,查询参数通常用作小型标识或控制参数。
所以
1、GET 请求最好不要用请求体(虽然 HTTP 标准允许,但大部分客户端和中间件不支持)。
2、POST/PUT/DELETE 可以同时用路径参数、查询参数和请求体。
1万+

被折叠的 条评论
为什么被折叠?



