[英]How to create a java client for a Spring service?
我有一个使用Spring注释的服务定义。 示例( 来源 ):
@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);
我怎样才能获得这样一个客户端“生成”的实现“?
您可以使用Swagger Editor生成它。 您只需定义资源的路径,然后它将为您生成几乎所有您选择的语言的客户端
您可能正在寻找Feign Client 。 它可以满足您的所有需求:通过HTTP调用一个服务类似于调用Java接口的方法。 但是要使它工作,你需要Spring Cloud,标准的Spring框架还没有这个功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.