У меня есть декларативный интерфейс клиента, и я использую его с контроллера.Я полностью ожидаю, что аутентификация с моим сервисом сейчас не пройдёт, но мне любопытно, почему я не могу справиться с этим исключением ...
@Controller("/order-gateway/orders")
public class OrderController {
private final OrderClient client;
public OrderController(OrderClient client) {
this.client = client;
}
@Post
@Produces(MediaType.TEXT_PLAIN)
public Single<String> createOrder() {
return client.createOrder();
}
}
Все вышеперечисленное - просто пример кода, но когда клиент вызываетконечная точка службы, она не авторизована и возвращает 401. Но мой контроллер выше возвращает 500, потому что client.createOrder()
выдает исключение из получения 401.
Я вроде бы ожидал, что смогу обработатьэто, но я попробовал doOnErrors
и другие методы, которые, кажется, не мешают 500. Во всяком случае, я бы хотел взорвать 401 или, по крайней мере, обработать 500 изящнее.Но я даже не знаю, как получить код состояния вызова службы из асинхронного ответа.