spring - Spring 5 Webflux 休息控制器 - 如何执行输入验证?
问题描述
我正在构建一个具有一些 Rest Controller 的 Web 应用程序:
@RestController
@RequestMapping(value = Path.ROOT)
public class TestController {
@Autowired
private AService service;
@RequestMapping(method = RequestMethod.POST)
public Flux<ItemResponse> doSomething(@RequestBody @Valid final ItemRequest request) {
return service.pleaseDoSomething(request);
}
}
我的输入对象是这样的:
public Class ItemRequest{
@NotNull
private String anInputValue
}
我的应用有注释 @EnableWebFlux
问题是根本没有进行验证,当我删除以前的注释时,一切正常。
我正在使用 Spring boot 2.0.3 / tomcat dep
这是怎么回事 ?
解决方案
谢谢@M。Deinum 和@Brian Clozel 这是我需要同时拥有百里香叶和验证工作的自定义配置类
@Configuration
@EnableWebFlux
public class WebFluxConfig implements WebFluxConfigurer {
@Resource
private ThymeleafReactiveViewResolver thymeleafReactiveViewResolver;
@Autowired
private Validator defaultValidator;
@Override
public Validator getValidator() {
return defaultValidator;
}
@Override
public void configureViewResolvers(final ViewResolverRegistry registry) {
registry.viewResolver(thymeleafReactiveViewResolver);
}
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/")
.resourceChain(false);
}
}
推荐阅读
- f# - F#:为什么脚本文件不能识别模块?
- python - 为什么 beautifulsoup 的 find_all 不起作用
- angular - Angular2 / 无法获取 /page_name
- c - 任何人都可以向我解释以下内容
- r - 在 R 上的 Google 距离矩阵 API 中达到查询限制
- asp.net-core-mvc - 更新 ContextModelSnapshot EF Core
- javascript - 更改元素后,JavaScript (jQuery) 不再反应
- python - Python:需要高精度整数的解决方案(生成素数)
- javascript - 如何判断图像是否未在 Angular 中加载?
- json - 使用 JSON 和 TypeScript 进行静态类型化