gpt4 book ai didi

spring - 如何为使用 Spring 实现的 RESTful 服务生成 Java 客户端代理?

转载 作者:IT老高 更新时间:2023-10-28 13:55:25 25 4
gpt4 key购买 nike

我们使用Spring来实现REST Controller ,例如:

@Controller
@RequestMapping("/myservice")
public class MyController {
@RequestMapping(value = "foo", method = RequestMethod.GET)
public @ResponseBody string foo() {...}
}

我可以使用 spring RestTemplate 调用此服务,它工作正常,但我更愿意使用代理调用它,而不是使用字符串 url 进行无类型调用:

// client code:
MyController proxy = getProxy("baseUrl", MyController.class);
String results = proxy.foo();

所以代理生成的输入是带有描述 REST 细节的注释的 java 接口(interface)。我读了this article并且看起来所有类型的远程调用都有代理,而我需要的 REST 只是 RestProxyFactoryBean 之类的东西,它将采用我的 REST java 接口(interface)并返回使用 RestTemplate 作为实现的类型安全代理。

我找到的最接近的解决方案是 JBoss RESTEasy .

但它似乎使用了不同的注释集,所以我不确定它是否适用于我已经拥有的注释:@Controller@RequestMapping。是否有其他选择,或者 RESTEasy 是唯一的选择?请注意,我是 Spring 新手,所以一些明显的 Spring 事物对我来说很新。

谢谢。
迪玛

最佳答案

你可以试试Feign Netflix,一个轻量级的基于代理的 REST 客户端。它通过注解以声明方式工作,并被 Spring Cloud 项目用于与 Netflix Eureka 交互。

关于spring - 如何为使用 Spring 实现的 RESTful 服务生成 Java 客户端代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16512188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com