Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement status checking for feign client?

I'm trying to combine 2 or more services and I want to check statuses of them and return custom response. For example one of them returns 200 and the other returns 500, 404, 400 and etc. In this case I want to return empty list. The example below is only valid when all services returning 200

@RestController
@RequiredArgsConstructor
public class Demo3Controller {

    private final Demo1Client demo1Client;
    private final Demo2Client demo2Client;

    @GetMapping("/demo3")
    public String get(){
        return demo1Client.getDemo1() + "&&" + demo2Client.getDemo2();
    }

}
like image 860
ElbrusGarayev Avatar asked May 10 '26 18:05

ElbrusGarayev


1 Answers

Feign can also return the whole response (ResponseEntity), instead of the body object. So, you can refactor your Feign client like this:

@FeignClient
public interface Demo1Client {
    
    public ResponseEntity<String> getDemo1();
}

after that, you can get the status code and body by:

ResponseEntity<String> response = demo1Client.getDemo1();
response.getStatusCodeValue();
response.getBody();
like image 102
csenga Avatar answered May 12 '26 13:05

csenga



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!