java - 春季启动MVC。传递空请求正文
问题描述
有一个带有 a 的 restcontroller 映射@RequestBody TypeA
。
TypeA
正确解决,即使我将 a{}
作为正文发送。我要实现的目标是在根本不发送正文时具有相同的逻辑(@RequestBody
即为空)。
代码:
@PostMapping('/post')
public ResponseEntity processPost(@RequestBody(required=false) Optional<TypeA> body) {
return service.someAction(body.orElse(new TypeA());
}
到目前为止,我看到的唯一可能的解决方案是设置required = false
,将类型包装在 Optional 中,然后使用.orElseGet(...new)
,它有效,但看起来无效。
有没有合适的方法来做到这一点?
解决方案
你可以试试这个
@PostMapping('/post')
public ResponseEntity processPost(@NotNull(message = "you can add null description") @RequestBody TypeA body) {
}
推荐阅读
- javascript - JSDOC 记录事件监听器 (addEventListener)
- sql-server - 如何记录每个查询的自定义元数据/上下文信息
- python-3.x - 在python中将所有列中的所有负值替换为零
- java - Tomcat 中的 HTTP v/s AJP 连接器(就性能而言) - Tomcat 版本 9.x
- php - 如何在 CakePhp 中为用户捕获缓存
- google-chrome-devtools - Google Chrome 的 DevTools。在“网络”选项卡中隐藏所有状态为 200 的 HTTP 请求
- json - 如何说服 VS 代码接受 # 作为 JSON 文件中的注释?
- excel - 在特定字符和该字符之后删除部分
- sql - 如何更新 json 对象的键?
- circuit-sdk - 事件“formSubmission”不会在 Circuit SDK 上触发