Java 如何优雅地向API发出多个请求

Java 如何优雅地向API发出多个请求,java,api,Java,Api,我得到了一个URL和查询字符串形式的API链接。以下是我的方法 查询字符串格式表示要触发GET请求 我还假设这可以通过Java中的HttpURLConnection实现 我有一些正在从数据库中检索的数据列表 如何激发列表中的每个数据?对于这样复杂的任务,一个简单的for循环还不够吗 API链接是一个普通的链接,带有查询字符串,数据库中的数据将一次附加到一个查询字符串中 我想听听你是如何完成这项任务的,看看我的方法是否有不足之处。你对简单的for循环方法的怀疑是正确的。那会很慢。请求被阻塞,因

我得到了一个URL和查询字符串形式的API链接。以下是我的方法

  • 查询字符串格式表示要触发GET请求

  • 我还假设这可以通过Java中的
    HttpURLConnection
    实现

  • 我有一些正在从数据库中检索的数据列表

如何激发列表中的每个数据?对于这样复杂的任务,一个简单的
for
循环还不够吗

API链接是一个普通的链接,带有查询字符串,数据库中的数据将一次附加到一个查询字符串中


我想听听你是如何完成这项任务的,看看我的方法是否有不足之处。

你对简单的
for
循环方法的怀疑是正确的。那会很慢。请求被阻塞,因此您将在触发请求2之前等待请求1的结果。研究异步执行此操作,一次触发多个请求


如果没有API的细节,很难说得更多。它是一个在线网络服务吗?其他部门创建的内部文件?如果它不存在,考虑请求一个可以同时接收多个参数的函数的版本,不必进行大量的小调用。

询问API作者对请求速率的期望值以及API是否支持批量请求。我认为如果只有几十个for循环就足够了,但如果有几百个,则可以使用线程池。您尝试发送的请求数量是否一般?您的问题需要透露更多信息,以便我们为您提供具体答案。Web API是否可以异步处理请求?您可以发送到API的最大负载是多少?可以将请求批处理为一个请求吗?(如果是,最大批处理大小是多少?)。提供的API详细信息:@ns47731:我是线程新手。Java并发教程能让我很快提高速度吗?它不是由一个著名的web服务公开的API。它是一家低端短信服务提供商。链接的形式为:
http://xxx.xxx.xxx.xxx:8080/bulksms/bulksms?
querystring与手机`发送短信将受益于制作一个bean来存储所有信息(Msg、to number、日志的任何跟踪信息);使用ThreadPoolExecutor来查询和异步作业。核心和最大线程数超过1@阿桑