我有一个使用Spring注释的服务定义。示例(source):
@RequestMapping(value = "/ex/foos/{id}", method = GET)
@ResponseBody
public String getFoosBySimplePathWithPathVariable(
@PathVariable("id") long id) {
return "Get a specific Foo with id=" + id;
}
问题是spring(或其他库)是否可以自动创建相同API的远程实现(客户端),而无需手动键入路径,方法类型,参数名称等(如使用RestTemplate时需要) ?
此类客户端使用示例:
FooClient fooClient = new FooClient("http://localhost:8080");
String foo = fooClient.getFoosBySimplePathWithPathVariable(3l);
我怎样才能获得这样一个客户端“生成”的实现“?
答案 0 :(得分:0)
您可以使用Swagger Editor生成它。您只需定义资源的路径,然后它就会为您生成几乎所有您选择的语言的客户端
答案 1 :(得分:0)
您可能正在寻找Feign Client。它可以满足您的所有需求:通过HTTP调用一个服务类似于调用Java接口的方法。但是要使它工作,你需要Spring Cloud,标准的Spring框架还没有这个功能。