当前位置: 首页 > news >正文

接口参照

总览

image

1.查询参数(Query Parameters)

1.1 前端请求(URL 拼接)

GET /api/users?page=1&size=10&keyword=张三
  • 参数直接拼在 URL ? 后面
  • 多个参数用 & 连接
  • 适用于 GET 请求(也可用于 POST,但不推荐)

1.2 后端接收方式(@RequestParam)

@GetMapping("/users")
public List<User> getUsers(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int size,@RequestParam(required = false) String keyword
) {// ...
}

1.3 适用场景

  • 分页查询
  • 搜索过滤
  • 简单配置类参数

1.4 注意

  • 不适合传敏感数据(会被日志记录)
  • URL 长度有限制(一般 < 2048 字符

2.路径参数(Path Variable)

2.1 前端请求(URL 路径中嵌入)

GET /api/users/123
DELETE /api/orders/ORD20251114
  • 参数作为 URL 路径的一部分
  • 通常表示“资源 ID”

2.2 后端接收方式(@PathVariable)

@GetMapping("/users/{id}")
public User getUserById(@PathVariable Long id) {return userService.findById(id);
}@DeleteMapping("/orders/{orderNo}")
public void deleteOrder(@PathVariable String orderNo) {orderService.delete(orderNo);
}

2.3 适用场景

  • 获取/删除/更新某个具体资源
  • RESTful 风格 API

2.4 注意

  • 路径参数不能省略(除非用正则或可选路径,但复杂)
  • 类型需匹配(如 Long 对应数字字符串

3.表单数据(Form Data / x-www-form-urlencoded)

3.1 前端请求(body 为 key=value&...)

POST /api/login
Content-Type: application/x-www-form-urlencodedusername=admin&password=123456

数据在请求体(body)中

  • 格式类似 URL 查询字符串
  • 浏览器原生
    默认提交格式

3.2 后端接收方式(@RequestParam)

@PostMapping("/login")
public Result<?> login(@RequestParam String username,@RequestParam String password
) {// ...
}

3.3 适用场景

  • 传统表单登录
  • 简单数据提交(无嵌套结构)

3.4 注意

  • 不支持复杂对象(如 { user: { name: "a" } })
  • Spring 会自动解析 x-www-form-urlencoded 到 @RequestParam

4.JSON 数据(Request Body)

4.1 前端请求(body 为 JSON)

POST /api/orders
Content-Type: application/json{"goodsId": 1001,"count": 2,"address": {"province": "广东","city": "深圳"}
}
  • 最常见的现代 API 交互方式
  • 支持嵌套对象、数组等复杂结构

4.2 后端接收方式(@RequestBody + DTO)

@PostMapping("/orders")
public Result<?> createOrder(@RequestBody CreateOrderRequest req) {// req.getGoodsId(), req.getAddress()...
}// DTO 类
public class CreateOrderRequest {private Long goodsId;private Integer count;private Address address;// getter/setter
}

4.3 适用场景

  • 创建/更新复杂资源(如订单、用户资料)
  • 前后端分离项目(Vue/React + Spring Boot)
  • 微信支付、下单等业务接口

4.4 注意

  • 必须设置 Content-Type: application/json
  • 字段名需前后端一致(可用 @JsonProperty 映射)
  • 推荐加 @Valid 做参数校验

5.文件上传(Multipart Form Data)

5.1 前端请求模样(multipart/form-data)

POST /api/upload/avatar
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="userId"123
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="avatar.jpg"
Content-Type: image/jpeg(二进制文件内容...)
------WebKitFormBoundary7MA4YWxkTrZu0gW--

5.2 后端接收方式(@RequestParam MultipartFile)

@PostMapping("/upload/avatar")
public Result<?> uploadAvatar(@RequestParam Long userId,@RequestParam MultipartFile file
) {// 保存文件...
}

5.3 适用场景

  • 头像上传
  • 附件提交
  • 富文本编辑器图片上传

5.4注意

  • 不能用 @RequestBody
  • 需配置文件大小限制(spring.servlet.multipart.max-file-size)
http://www.jsqmd.com/news/39989/

相关文章:

  • RustFS 重要变更,让容器化部署更安全
  • AI元人文:价值原语化的五维关系调和框架
  • 双赢思维
  • Windows 11 系统对磁盘进行分区保姆级教程
  • 2025年口碑好的风冷一体化加热器厂家实力及用户口碑排行榜
  • 2025年知名的节能加热圈厂家最新TOP排行榜
  • vscode python2代码debug
  • 2025年知名的远红外节能加热圈厂家推荐及采购指南
  • 2025年评价高的膜浓缩设备厂家选购指南与推荐
  • 2025年热门的废水处理液体分离设备TOP实力厂家推荐榜
  • 【URP】Unity[后处理]晕影Vignette
  • 2025年知名的酶制剂浓缩设备最新TOP厂家排名
  • 2025年比较好的板材超声波探伤厂家最新推荐排行榜
  • cad批量转换pdf格式真的简单!这4个小技巧快收藏
  • 2025年靠谱的螺旋风管厂家最新权威推荐排行榜
  • 2025 年 11 月干燥机厂家推荐排行榜,离心喷雾干燥机,压力喷雾干燥机,气流干燥机,振动流化床干燥机,旋转闪蒸干燥机,回转滚筒干燥机公司推荐
  • ARM MPU内存保护单元 - ENGINEER
  • 2025年热门的镀锌风管厂家最新用户好评榜
  • mybatis ResultHandler 对结果集批处理
  • 从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
  • 2025年靠谱的手板模型厂家推荐及选择指南
  • 再见 Postman!一款开源免费的全能 API 客户端工具!
  • 无法获得锁 /var/lib/dpkg/lock-frontend
  • 2025年成都殡仪一条龙公司权威推荐榜单:殡仪/殡仪一条龙/陵园墓地源头公司精选
  • 【Linux知识】Linux Service 重启策略 Restart 详解 - 指南
  • open-vm-tools安装
  • 2025年AI营销服务怎么选
  • 2025安全立网销售厂家排行
  • 2025年质量好的焊接氢瓶厂家选购指南与推荐
  • 2025年膜结构景观订做厂家口碑推荐