在 Spring Boot 3.1.3 中使用 @Async
注解 + Future
构建异步 Controller 时,响应的数据竟然是 Future
,而不是 Future
的实际的泛型数据。
Application.class
类如下:
@SpringBootApplication
@EnableAsync
public class Application {
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
}
RestController
类如下:
@RestController
public class MainController {
@GetMapping
@Async
public Future<String> show() {
return CompletableFuture.completedFuture("Jordi");
}
}
响应的数据如下:
{
"cancelled": false,
"done": true
}
返回的数据应该是 "Jordi"
才对。删除 · @Async` 注解后就好了。
这是哪里出问题了?