我尝试创建返回所有产品的rest控制器。我想使用CompletableFuture返回产品列表。
我有弹出数据的异步请求
@Async
@Query("select product from Product product")
CompletableFuture<List<Product>> findAllAsync();
和控制器
@Async
@RequestMapping(path = "/products", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
CompletableFuture<List<ProductData>> loadAllProducts2(){
return this.products.findAllAsync()
.thenApplyAsync(Collection::stream)
.thenApplyAsync(s -> s.map(Product::data))
.thenApplyAsync(s -> s.collect(Collectors.toList()));
}
ProgramData很简单DTO:
public final class ProductData {
private final String name;
private final String label;
public ProductData(String name, String label) {
this.name = name;
this.label = label;
}
public String getName() {
return this.name;
}
public String getLabel() {
return this.label;
}
}
Spring返回什么,在日志输出中是:
o.s.b.a.e.mvc.EndpointHandlerMapping:找不到[/ products]
的处理程序方法任何想法有什么不对?
答案 0 :(得分:0)
我删除了目标目录,它确实起作用了。