从dropwizard调用外部API

时间:2017-06-08 17:46:11

标签: dropwizard api-design

我对Dropwizard很新,并且学习它(以及一般的API开发)。

我正在查看Dropwizard以构建一个API,该API应该在某个位置调用另一个API。

更准确地说,我有一个json / yaml文件,我将其转换为另一个可由外部API使用的json文件。

API I' m建筑包括整个过程enter image description here

现在我专注于最后一部分:调用外部API(使用固定的json)。那么如何从Dropwizard中命中外部API?

这是sudo代码:

ParseException

非常感谢任何意见/建议/参考链接。

2 个答案:

答案 0 :(得分:3)

您可以使用Dropwizard Client模块,该模块依赖于Apache HttpClient(默认)或Jersey客户端。在DW应用程序中配置客户端后,只需使用它来进行外部调用。对于更高级别的抽象Feign是一个不错的选择。

请注意,在对外部Web服务进行同步调用时,如果正在等待其他服务,则应用程序可能会耗尽可用线程。如果可能,您应该使此调用异步,例如使用要处理的外部调用队列并让API的客户端检查该请求的状态。

答案 1 :(得分:0)

感谢Andre,我结束了使用Dropwizard客户端(Jersey客户端):

import javax.ws.rs.client.ClientBuilder;


    Client client = ClientBuilder.newClient();
    String result = client.target("http://path_to_external_resource").request().get(String.class);

    return result;