我正在使用开放式伪装在2个微服务之间进行通信。伪装客户端与之通信的微服务会针对通过伪装客户端发送的不正确的请求后参数抛出自定义异常。
当邮递员通过伪装客户端将http错误请求发送到相关微服务时,将显示500内部服务器错误,而不是400错误请求。
我编写了一个自定义错误解码器,并通过伪装客户端调用它。
以下是装饰
public class Testerrordecoder implements ErrorDecoder {
@Override
public Exception decode(String methodKey, Response response) {
return errorStatus(methodKey, response);
}
}
我将自定义解码器称为如下
FeignClient=Feign.builder().errorDecoder(new Testerrordecoder()).decoder(new JacksonDecoder()).encoder(new JacksonEncoder()).target(FeignClient.class, "http://localhost:8100/");
预期结果是400错误的请求,但输出是500内部服务器错误。我该如何纠正?