0
点赞
收藏
分享

微信扫一扫

Spring boot 配置Controller字段映射


在项目开发的过程中,后端实体类Model需要遵循驼峰命名规则,Controller请求却需要返回下划线格式的变量名,或者其他根据需求的变量名,这时可以使用jackson实现

  • 引入依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.3</version>
</dependency>

  • 实体类加注解 

可以加在属性上,对set和get方法同时生效,也可以加在set或者get方法上,分别影响接口传入值和返回值

package com.grandtech.aquacultureinsurance.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang.StringUtils;

import java.sql.Timestamp;
/**
* @Description:    养殖户信息实体类
* @Author:         han bo
* @CreateDate:     2019/6/19 17:51
* @UpdateUser:
* @UpdateDate:     2019/6/19 17:51
* @UpdateRemark:
* @Version:        1.0
*/
public class FarmerModel {
    @JsonProperty("id_number")
    private String idNumber;
    private String name;
    @JsonProperty("certificates_type")
    private String certificatesType;
    @JsonProperty("certificates_type_str")
    private String certificatesTypeStr;
    @JsonProperty("certificates_photo")
    private String certificatesPhoto;
    private String phone;
    private String address;
    private String bank;
    @JsonProperty("bank_photo")
    private String bankPhoto;
    @JsonProperty("bank_number")
    private String bankNumber;
    @JsonIgnore
    private Timestamp gmtCreate;
    @JsonIgnore
    private Timestamp gmtModified;

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCertificatesType() {
        return certificatesType;
    }

    public void setCertificatesType(String certificatesType) {
        if(StringUtils.isNotBlank(certificatesType)){
            this.certificatesType = certificatesType;
        }else {
            this.certificatesType = "0101";
        }
    }

    public String getCertificatesTypeStr() {
        return certificatesTypeStr;
    }

    public void setCertificatesTypeStr(String certificatesTypeStr) {
        this.certificatesTypeStr = certificatesTypeStr;
    }

    public String getCertificatesPhoto() {
        return certificatesPhoto;
    }

    public void setCertificatesPhoto(String certificatesPhoto) {
        this.certificatesPhoto = certificatesPhoto;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getBankPhoto() {
        return bankPhoto;
    }

    public void setBankPhoto(String bankPhoto) {
        this.bankPhoto = bankPhoto;
    }

    public String getBankNumber() {
        return bankNumber;
    }

    public void setBankNumber(String bankNumber) {
        this.bankNumber = bankNumber;
    }

    public Timestamp getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Timestamp gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Timestamp getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Timestamp gmtModified) {
        this.gmtModified = gmtModified;
    }
}

然后正常的网络请求就可以看到

Spring boot 配置Controller字段映射_jackjson

已经名称带下划线了,传参也可以用这个名字了

举报

相关推荐

0 条评论