首页 > 编程语言 > 详细

spring boot 如何映射json格式请求中的枚举值

时间:2020-11-11 11:10:24      阅读:111      评论:0      收藏:0      [点我收藏+]
@RestController
public class EmployeeController {
    @PostMapping("checkEmployee")
    public String checkEmployee(@RequestBody Employee employee) {
        return employee.getDepartment().getDepCode();
    }
}

请求实体:

public class Employee {
 
    private String name;
 
    private DepartmentEnum department;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public DepartmentEnum getDepartment() {
        return department;
    }
 
    public void setDepartment(DepartmentEnum department) {
        this.department = department;
    }
}

枚举:

public enum Department {
 
    SALES("d1"),
 
    MARKETING("d2"),
 
    PRODUCTION("d3");
 
    private String depCode;
 
    private Department(String depCode) {
        this.depCode = depCode;
    }
 
    public String getDepCode() {
        return this.depCode;
    }
 
    /**
      * 增加映射方法,并为方法添加@JsonCreator
      */
    @JsonCreator
    public static Department getDepartmentFromCode(String value) {
        for (Department dep : Department.values()) {
            if (dep.getDepCode().equals(value)) {
                return dep;
            }
        }
        return null;
    }
 
}

测试结果:

技术分享图片

spring boot 如何映射json格式请求中的枚举值

原文:https://www.cnblogs.com/joequa/p/13957052.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!