首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Spring中,我能让@RequestBody中的单个字段成为可选的吗?

在Spring中,我能让@RequestBody中的单个字段成为可选的吗?
EN

Stack Overflow用户
提问于 2020-07-16 03:51:53
回答 2查看 4.1K关注 0票数 3

我有这样一条路线:

代码语言:javascript
运行
复制
@PostMapping("/")
public void sendNotification(@RequestBody PostBody postBody){...}

PostBody类中的字段为:

代码语言:javascript
运行
复制
public class PostBody {
    private String type;
    private String payload;
    private String recipients;
    private String callerId;

我想知道,我是否可以将这些字段中的一个或多个设为可选,但不是全部?

我猜如果我使用(require = false),所有的字段都是可选的,对吗?

那么有没有办法这样做呢?

谢谢!

EN

Stack Overflow用户

发布于 2020-07-16 04:16:11

我的方法是在方法的签名中请求一个映射对象,即@RequestBody Map<String, String> json,然后自己验证这个对象。

代码语言:javascript
运行
复制
String type = json.getOrDefault("type", null);

if (type==null)
    return new ResponseEntity<>(HttpStatus.BAD_REQUEST);

如果你想使用它,记得改变方法的返回类型。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62922771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档