首页 > 解决方案 > 如果变量为空或 null,则在 RequestBody 中设置默认值

问题描述

我有示例控制器方法

public void generateFile(@RequestBody final FileRequest request) {
...
}

有时这个类FileRequest的字段不是全部都填满的,有没有办法在请求中的值为空或者为null的时候设置默认值呢?

我的意思是@Default

标签: javaspring

解决方案


在 FileRequest 类中,使用值设置字段。如果字段未填写,它将使用类中的默认值。使用lombok,类太简单了。如下所示:

// class User
import lombok.Data;

@Data
public class User {
    private String name;
    private String address="beijing";
    private int age=10;
}

// in Class restConctroller

   @RequestMapping(value = "/res1/data")
    public Object postData(@RequestBody User user){
        return user;
    }

在使用 name='aaa' 发布 http://localhost:8080/res1/data 后,您将获得如下结果

{
  "name": "aaa",
  "address": "beijing",
  "age": 10
}

推荐阅读