如何为用Spring实现的REST风格的服务生成Java客户端代理? [英] How to generate Java client proxy for RESTful service implemented with Spring?

查看:0
本文介绍了如何为用Spring实现的REST风格的服务生成Java客户端代理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们使用Spring实现REST控制器,例如:

@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接口。 我阅读了this article,它看起来所有类型的远程调用都有代理,而我对REST所需要的就是类似于RestProxyFactoryBean的东西,它将接受我的REST Java接口并返回使用RestTemplate作为实现的类型安全代理。

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

但它似乎使用了不同的批注集,所以我不确定它是否适用于我已经拥有的批注:@Controller@RequestMapping。 有没有其他选择,或者RESTEasy是唯一的选择? 请注意,我是春季新手,所以一些显而易见的春季事物对我来说是相当新鲜的。

谢谢。
DIMA

推荐答案

您可以尝试FeignNetflix,这是一个基于代理的轻量级REST客户端。它通过注释以声明的方式工作,并且被Spring Cloud项目用来与Netflix Eureka交互。

这篇关于如何为用Spring实现的REST风格的服务生成Java客户端代理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆