Elb*_*yev 7 spring spring-boot spring-cloud-feign feign
我正在尝试组合 2 个或更多服务,并且我想检查它们的状态并返回自定义响应。例如,其中一个返回 200,另一个返回 500、404、400 等。在这种情况下,我想返回空列表。下面的示例仅当所有服务返回 200 时才有效
@RestController
@RequiredArgsConstructor
public class Demo3Controller {
private final Demo1Client demo1Client;
private final Demo2Client demo2Client;
@GetMapping("/demo3")
public String get(){
return demo1Client.getDemo1() + "&&" + demo2Client.getDemo2();
}
}
Run Code Online (Sandbox Code Playgroud)
cse*_*nga 17
Feign 还可以返回整个响应 ( ResponseEntity ),而不是主体对象。所以,你可以像这样重构你的 Feign 客户端:
@FeignClient
public interface Demo1Client {
public ResponseEntity<String> getDemo1();
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以通过以下方式获取状态代码和正文:
ResponseEntity<String> response = demo1Client.getDemo1();
response.getStatusCodeValue();
response.getBody();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14584 次 |
| 最近记录: |