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

昆明网站网站建设建站工具有哪些

昆明网站网站建设,建站工具有哪些,企业进行网站建设的方式,专业网站建设哪里好1. 什么是 Feign? Feign 是 Spring Cloud 提供的一个声明式 HTTP 客户端,旨在简化微服务之间的 RESTful API 调用。通过定义接口 注解的方式,开发者无需手动编写 HTTP 请求代码,即可实现服务间通信。 2. Feign 的核心规则与限制…

1. 什么是 Feign?

Feign 是 Spring Cloud 提供的一个声明式 HTTP 客户端,旨在简化微服务之间的 RESTful API 调用。通过定义接口 + 注解的方式,开发者无需手动编写 HTTP 请求代码,即可实现服务间通信。


2. Feign 的核心规则与限制

2.1 接口方法定义规则

① 参数注解必须明确
  • @RequestParam@PathVariable@RequestBody 必须显式指定参数名
    若未指定 value 属性,Feign 会抛出 RequestParam.value() was empty 错误。

    // ❌ 错误示例:未指定 value
    @GetMapping("/user")
    String getUser(@RequestParam Long id); // ✅ 正确示例:显式指定参数名
    @GetMapping("/user")
    String getUser(@RequestParam("id") Long id); 
② 方法参数数量与类型限制
  • GET 请求

    • 不允许使用 @RequestBody

    • 复杂对象参数需拆解为多个 @RequestParam 或使用 @SpringQueryMap

  • POST/PUT 请求

    • 最多只能有一个 @RequestBody 参数(HTTP 请求体只能有一个)。

    • 多个参数需封装为 DTO 对象。

③ 返回类型必须可序列化
  • 确保返回值类型能被 JSON 序列化/反序列化(如 Jackson 库支持的类型)。

2.2 HTTP 方法与路径映射

  • 明确指定 HTTP 方法@GetMapping@PostMapping 等注解不可省略。

  • 路径冲突检查:避免同一 Feign 客户端中存在相同路径的方法。


2.3 复杂对象参数处理

① GET 请求传递对象
  • 方式 1:@SpringQueryMap
    自动将对象属性转换为 URL 查询参数。

@GetMapping("/search")
List<User> searchUsers(@SpringQueryMap UserQuery query);
  • 方式 2:手动拆解参数

    @GetMapping("/search")
    List<User> searchUsers(@RequestParam("name") String name,@RequestParam("age") Integer age
    );
② POST 请求传递多个参数
@PostMapping("/create")
String createUser(@RequestBody UserCreateRequest request);// DTO 对象
public class UserCreateRequest {private String name;private Integer age;// getters/setters
}

2.4 版本兼容性

  • Spring Cloud 与 Spring Boot 版本必须匹配

    Spring Cloud VersionSpring Boot Version
    2021.0.x (Jubilee)2.6.x, 2.7.x
    2020.0.x (Ilford)2.4.x, 2.5.x
  • 依赖冲突检查:避免引入不同版本的 Feign 或 Spring Cloud 组件。


2.5参数注解与请求方法

Feign 的接口方法需要明确标注 HTTP 方法和参数绑定方式,以下是核心注解及其用途:


2.5. 1参数注解
注解用途适用 HTTP 方法示例
@RequestParam从 URL 查询参数 中获取值GET@RequestParam("name") String name
@PathVariable从 URL 路径模板 中提取值GET@PathVariable("id") Long id
@RequestBody从 HTTP 请求体 中获取数据(如 JSON)POST/PUT/PATCH@RequestBody UserDTO user
@SpringQueryMap将对象参数自动转换为 URL 查询参数(Feign 扩展注解)GET@SpringQueryMap UserQuery query

2.5.2 HTTP 方法注解
注解用途示例
@GetMapping定义 GET 请求@GetMapping("/user/{id}")
@PostMapping定义 POST 请求@PostMapping("/user")
@PutMapping定义 PUT 请求@PutMapping("/user/{id}")
@DeleteMapping定义 DELETE 请求@DeleteMapping("/user/{id}")

3. 总结

  • 参数注解核心规则

    • @RequestParam 用于 GET 查询参数。

    • @PathVariable 用于 URL 路径参数。

    • @RequestBody 用于 POST/PUT 请求体。

    • @SpringQueryMap 用于 GET 请求的复杂对象参数。

  • HTTP 方法注解:严格匹配服务提供方的请求类型(GET/POST/PUT/DELETE)。

  • 避坑指南:显式指定参数名、避免 GET 请求中的 @RequestBody、统一路径前缀。

http://www.dtcms.com/wzjs/507452.html

相关文章:

  • 极速网站推广专家种子搜索神器在线搜
  • 宠物交易网站模板南宁seo外包服务
  • 网站改版的几个建议网络营销推广要求
  • wordpress主机优化防疫政策
  • 一级域名免费注册关键词优化工具
  • 上海网站开发哪里好薇网站搜索排名优化怎么做
  • 怎么做网站内的搜索平台推广引流怎么做
  • 做网站老板嫌弃太丑谁的锅站长工具
  • 教育品牌网站建设windows优化大师功能
  • 房屋 哪个网站做的最好微信运营方案
  • 商城网站建设如何交谈电商是做什么的
  • 左旗网站建设四年级说新闻2023
  • 一级a做爰片2202网站怎么推广自己的网站?
  • 现在做网站开发游戏挂机赚钱一小时20
  • 深夜一个人适合看的电影郑州seo实战培训
  • 做教育的网站关键词排名关键词快速排名
  • 长沙哪里有专业做网站seo是什么意思知乎
  • 做地方网站如何盈利广州网站设计
  • 网站跳出率高的原因2023第二波疫情已经到来了
  • 常州模板网站建设价格skr搜索引擎入口
  • 机械公司网站模板百度开户公司
  • 代理机构做的网站找不到人了怎么办灰色词排名推广
  • 移动端网站怎么做优化搜索关键词排名提升
  • 网站建设案列yandex搜索引擎
  • 网站怎么做域名实名认证广东最新新闻
  • 建了一个网站 如何找到放图片的文件夹优化营商环境
  • 有教做鱼骨图的网站吗网站seo优化的目的
  • 北京环保网站建设促销活动推广语言
  • 搜狗提交网站收录入口竞价推广的企业
  • 软件培训手册安阳seo