RestController返回CompletableFuture <list>

时间:2017-05-27 12:08:52

标签: spring hibernate spring-boot spring-data

我尝试创建返回所有产品的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]

的处理程序方法

任何想法有什么不对?

1 个答案:

答案 0 :(得分:0)

我删除了目标目录,它确实起作用了。