【发布时间】:2021-12-08 13:14:45
【问题描述】:
Service 以 gson.JsonObject 的形式返回响应。从服务 B 使用 Feign Client 调用服务 A。如何处理响应?在下面尝试:
@FeignClient(name = "ABC")
public interface TestDataProviderApi {
@GetMapping(value = "/v1/path/{data-type}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
**JsonObject** getData(@PathVariable("data-type") String dataType);
}
@FeignClient(name = "ABC")
public interface TestDataProviderApi {
@GetMapping(value = "/v1/path/{data-type}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
**Object** getData(@PathVariable("data-type") String dataType);
}
@FeignClient(name = "ABC")
public interface TestDataProviderApi {
@GetMapping(value = "/v1/path/{data-type}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
**JSONObject** getData(@PathVariable("data-type") String dataType);
}
没有任何效果。任一响应都打印为 {} 或 JSON 异常。但是在服务 A 日志中,它返回了正确的 JSON,例如 {"a":1}。如何处理价值?最终目标是读取 feign 客户端的响应并使用 Jayway JsonPath 获取价值。
提前致谢!
【问题讨论】:
-
你不能返回一个 ResponseEntity
标签: spring-boot gson microservices feign