我花了一段时间才找到,但是我找到了完美的REST客户端库,使我们的开发具有声明性和简单性。在开发新的 REST 实现或 API 时,我们可以将其用作标准。
它被称为Feign,由Netflix团队开发,并与Spring Cloud Netflix合作。更多详细信息,请访问该项目的网站。
一些功能包括: - 与Jackson,Gson和其他编码器/解码器集成 - 使用OkHttp进行网络通信,经过验证的HTTP库 - 与SLF4J绑定以记录功能 - 基于接口的实现,最少开发。下面是一个示例客户端:
@FeignClient("stores")
public interface StoreClient
{
@RequestMapping(method = RequestMethod.GET, value = "/stores")
List<Store> getStores();
@RequestMapping(method = RequestMethod.POST, value = "/stores/{storeId}", consumes = "application/json")
Store update(@PathVariable("storeId") Long storeId, Store store);
}
在@aha的答案之后,如下所述:
JRE/JDK:在这里,您有充分的选择。
如果您想要一个快速简便的解决方案来实现没有 SDK 或 JAX-RS 接口的第三方 API,那么改造可能会很好。
Spring的RestTemplate是一个不错的选择,如果你使用的是Spring并且没有JAX-RS接口,或者你不想购买JAX-RS,即在服务器端也使用它。
JAX-RS(Jersey,RESTeasy,...)是一个不错的选择,如果你想在客户端和服务器之间共享接口定义,或者如果你无论如何都在JavaEE上全力以赴。
Feign 的工作方式类似于改造和 JAX-RS:简单的解决方案,可以在客户端和服务器之间共享接口定义,并可以使用 JAX-RS 接口