繁体   English   中英

如何为Spring服务创建Java客户端?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM