如何在反应性微型飞机中设置POJO验证

时间:2018-10-23 13:47:35

标签: micronaut

使用micronaut.io,如何设置反应式HTTP正文内容的POJO验证? 它适用于同步情况,即:

@Post("/sync/{id}")
HttpResponse createSync(String id, @Body @Valid SomePojo pojo) {
    ...
}

但在异步情况下不起作用:

@Post("/async/{id}")
Single<HttpResponse> createAsync(String id, @Body @Valid Single<SomePojo> pojoProducer) {
    ...
}

谢谢

1 个答案:

答案 0 :(得分:0)

我发现的解决方法是在控制器中声明一个触发验证的方法,并以此方式使用它:

    pojoProducer
        .map(pojo -> validate(pojo))
        ...

public <T> T validate(@Valid T t) {
    return t;
}

但是如果框架能为我做到这一点会很好。