OpenFeign

简单记录一下open Feign的用法

1.添加依赖,
2.在启动类上添加注解:@EnableFeignClients

3.创建服务类----用于调用远程服务

@Component
@FeignClient("PAYMENT")  //要调用的服务名
public interface PaymentFeignService {
//远程服务的handler
@RequestMapping("payment/query")
@ResponseBody
CommonResult<Payment> query(@RequestBody Long id);

@RequestMapping("test")
@ResponseBody
void test();
}

4.业务类中调用

@Resource
PaymentFeignService paymentFeignService;

@RequestMapping("/test")
@ResponseBody
public CommonResult<Payment> test(){
System.out.println("feign here ");
paymentFeignService.test();
return null;
}

超时控制

ribbon:
    ReadTimeout = 5000
    ConnectTimeout = 5000

日志增强

@Bean
Logger.Level feignLoggerLevel(){
    return Logger.Level.FULL;
}

设置监听接口的级别

logging:
  level:
    org.yuanqi.customerfeign83.service.PaymentFeignService: debug
### OpenFeign 使用指南 #### 配置教程 为了使应用程序能够利用OpenFeign的功能,在项目中引入依赖是非常重要的。对于Spring Cloud应用来说,通常只需要在`pom.xml`文件或者构建工具对应的配置文件里添加相应的依赖项即可完成集成工作。 当涉及到具体的服务调用时,开发者可以通过定义接口并标注`@FeignClient`来指定目标服务名称以及基础路径等信息[^3]。例如: ```java @FeignClient(name = "example-service", url = "${feign.client.config.example.url}") public interface ExampleService { @GetMapping("/api/example") String getExample(); } ``` 上述代码片段展示了如何声明一个简单的Feign客户端用于访问名为`example-service`的服务中的API资源。 #### 日志级别设置 关于日志级别的设定,OpenFeign提供了四种不同的选项:NONE、BASIC、HEADERS 和 FULL。这些级别决定了哪些类型的日志会被记录下来以便于调试和监控目的。如果想要查看更详细的交互细节,则可以考虑将日志等级设为FULL,这样不仅可以获取到HTTP请求的方法名、URL地址及其返回的状态码之外的信息,还能看到完整的头部字段乃至消息主体的内容[^5]。 #### 处理400错误案例分析 针对某些情况下可能出现的400 Bad Request异常情况,特别是由于参数过多而导致的问题,解决方案之一就是调整传递方式。比如原本作为查询字符串附加在URL后面的参数列表(如menuIds),改由POST方法携带至服务器端处理;或者是采用分页机制减少单次传输的数据量,从而避免触发浏览器或框架内部的安全限制措施[^4]。 ```python def post_menu_ids(menu_ids): """ POST method to send a list of menu IDs. Args: menu_ids (list): List of integer values representing the ID's of menus. Returns: dict: Response from server after processing request with provided menu ids. """ response = requests.post('http://service/menu', json={"ids": menu_ids}) return response.json() ``` 此Python函数示范了怎样转换成POST请求发送大量ID数据给远程服务端点的例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值