java - 异步 API 设计客户端

标签 java spring rest api

假设我使用 Java 8 的 Completeable 在 Spring MVC 中创建了一个异步 REST API。

这在客户端是怎么调用的?如果它是非阻塞的,端点在处理之前会返回一些东西吗?即

@RequestMapping("/")  //GET method
public CompletableFuture<String> meth(){
   thread.sleep(10000);  
   String result = "lol";
   return CompletableFuture.completedFuture(result);
}

这究竟是如何运作的? (上面这段代码只是我随便编的一段代码)。

当我从 google chrome @ localhost:3000/ 发送 GET 请求时会发生什么?我是异步 API 的新手,需要一些帮助。

最佳答案

不,客户端不知道它是异步的。它必须正常等待结果。只有服务器端受益于释放工作线程来处理其他请求。

关于java - 异步 API 设计客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45739538/

相关文章:

java - Spring 启动: How to get program args with ConfigurationProperties

java - 使用 WAS7 进行 Maven 安装

asp.net - 普通 Web API 还是 Web API 和 OData?

javascript - *安全地将 HTML5 应用程序连接到服务器上的数据库

Java: get+clear atomic for map

java - 使用 Spring xml 配置从 Rest 端点获取 Maven 构建信息

java - 如何将多个编辑文本字段的内容显示到一个 TextView ?

rest - Spring MVC REST 使用 @RequestBody List<?> 返回 HTTP 400 语法错误

java - 如何将csv文件中的某些数据添加到ArrayList

java - 在 Java 中设置具有多个索引的变量的 OR 工具