日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 前端文檔 正文

springboot項目get請求下劃線轉駝峰@JsonProperty注解失效問題

作者:悟空、大師兄 更新時間: 2024-03-21 前端文檔

問題:解決sprigboot項目get請求中有下劃線的入參參數,如:first_name,希望在項目中將下劃線格式轉成firstName,用@JsonProperty注解發現失效問題

1.核查:@JsonProperty注解對應包是否正確

正確包:import com.fasterxml.jackson.annotation.JsonProperty;

如果使用jar正確,還是無效,往下看

2.在實體類中重寫參數的set方法

例子:

實體類:

package com.iterge.lph_test.entity;

import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * Create by LPH 2021/8/3
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserReq {
    Long id;
    String name;
    String firstName;
}

Controller:

package com.iterge.lph_test.controller;

import com.iterge.lph_test.entity.UserReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author liuph
 * @date 2023/8/10 15:01:30
 */

@RestController
@RequestMapping("/test")
@Slf4j
public class ParamController {

    @GetMapping("/param/test")
    public String params(UserReq req){
        log.info("入參數:{}",req);
        return req.toString();
    }

}

結果:

修改后:

實體類:

package com.iterge.lph_test.entity;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * Create by LiuPH 2021/8/3
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserReq {
    Long id;
    String name;
    @JsonProperty("first_name")
    String firstName;

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

?運行結果:

?over~

原文鏈接:https://blog.csdn.net/it_erge/article/details/132193912

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新