【发布时间】:2017-02-04 20:29:58
【问题描述】:
我在我的休息控制器中调用一个微服务。当微服务成功响应时,它工作正常,但如果有一些错误响应,我无法将错误响应传递回用户。下面是示例代码。
@GetMapping("/{id}/users/all")
public Mono<Employee> findAllProfiles(@PathVariable("id") UUID organisationId,
@RequestHeader(name = "Authorization", required = false) String oauthJwt) {
return webClient.get().uri(prepareUrl("{id}/users/all"), organisationId)
.header("Authorization", oauthJwt).accept(MediaType.APPLICATION_JSON)
.exchange().then(response -> response.bodyToMono(Employee.class));
}
现在,如果有任何带有错误代码的 JSON 响应,则 Web 客户端不会将错误响应传递给控制器,因此不会将任何信息传播给 api 最终用户。
【问题讨论】:
-
您能详细说明一下吗?远程服务发送的 HTTP 响应是什么?您的应用程序表现如何,我假设
findAllProfiles没有以正确的Employee响应?如果您在then(...)之后添加log("org.yourpackage.something")运算符,您会看到什么日志?
标签: spring-boot spring-rest spring-webflux