欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于@JsonProperty的使用說(shuō)明

 更新時(shí)間:2022年10月12日 14:49:23   作者:不墜青云之志  
這篇文章主要介紹了基于@JsonProperty的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、背景

在熟悉代碼的過(guò)程中,看到了@JsonProperty注解的使用,查了下使用的方法,但是總覺(jué)得欠缺了點(diǎn)什么東西,所以自己實(shí)踐了下這個(gè)注解的作用,由于時(shí)間原因沒(méi)有熟悉究竟底層是怎么實(shí)現(xiàn)的.

所以這里只是對(duì)使用注意事項(xiàng)做下分析,底層實(shí)現(xiàn)的話這里先mark下.

二、使用方式

@JsonProperty注解主要用于實(shí)體類(lèi)的屬性上,作用可以簡(jiǎn)單的理解為在反序列化的時(shí)候給屬性重命名(多一個(gè)名字來(lái)識(shí)別)

這里以springboot的小demo來(lái)驗(yàn)證下這個(gè)注解的作用

Test.java實(shí)體類(lèi):

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
 
/**
 * @date: 2020/8/17
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Test {
 
    @JsonProperty(value = "fake_name", required = true)
    private String fakeName;
 
    @JsonProperty(value = "fake_old", required = true)
    private Integer fakeOld;
 
    @Override
    public String toString() {
        return "Test{" +
            "fakeName='" + fakeName + '\'' +
            ", fakeOld=" + fakeOld +
            '}';
    }
}

Test.controller類(lèi):

import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.annotation.Resource;
/**
 * @date: 2020/7/30
 */
 
@Api(tags = "測(cè)試接口")
@RestController
public class TestController {
    @ApiOperation(value="測(cè)試")
    @PostMapping("/test")
    public SingleResponse<String> getCodesByMenuCode(@RequestBody Test test) {
        Test param = test;
        System.err.println(JSON.toJSONString(param));
        System.err.println(param.toString());
        Test o1 = JSON.parseObject("{\"fakeName\":\"test\",\"fakeOld\":1}", Test.class);
        Test o2 = JSON.parseObject("{\"fake_name\":\"test\",\"fake_old\":1}", Test.class);
        return SingleResponse.buildSuccessRes("success");
    }
 
}

swagger測(cè)試:

可以看到接到了swagger下劃線命名的變量

在Json.toJsonString時(shí)候打印的是原本屬性的名稱

兩種方式都可以反序列化成Test對(duì)象.

交換使用也是可以反序列化成Test對(duì)象.

三、注意事項(xiàng)

1  使用JSON.toJsonString的時(shí)候?qū)嶓w類(lèi)需要有g(shù)etter方法,否則會(huì)輸出{}

2  @requestBody注解需要在post請(qǐng)求下才能正常使用.

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中基本數(shù)據(jù)類(lèi)型與Object的關(guān)系說(shuō)明

    java中基本數(shù)據(jù)類(lèi)型與Object的關(guān)系說(shuō)明

    這篇文章主要介紹了java基本數(shù)據(jù)類(lèi)型與Object的關(guān)系說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • JDK環(huán)境變量配置教程分享

    JDK環(huán)境變量配置教程分享

    這篇文章主要為大家分享了JDK環(huán)境變量配置教程,JDK環(huán)境變量的配置,是java開(kāi)發(fā)中必備的配置
    2016-05-05
  • MyBatis通用的10種寫(xiě)法總結(jié)大全

    MyBatis通用的10種寫(xiě)法總結(jié)大全

    這篇文章主要給大家介紹了關(guān)于MyBatis通用的10種寫(xiě)法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 關(guān)于Spring Cloud 本地屬性覆蓋的問(wèn)題

    關(guān)于Spring Cloud 本地屬性覆蓋的問(wèn)題

    這篇文章主要介紹了關(guān)于Spring Cloud 本地屬性覆蓋的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • kafka生產(chǎn)者和消費(fèi)者的javaAPI的示例代碼

    kafka生產(chǎn)者和消費(fèi)者的javaAPI的示例代碼

    這篇文章主要介紹了kafka生產(chǎn)者和消費(fèi)者的javaAPI的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 淺析java程序入口main()方法

    淺析java程序入口main()方法

    這篇文章主要介紹了淺析java程序入口main()方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • java遍歷properties文件操作指南

    java遍歷properties文件操作指南

    在java項(xiàng)目開(kāi)發(fā)過(guò)程中,使用properties文件作為配置基本上是必不可少的,有很多如系統(tǒng)配置信息,java如何遍歷properties文件呢,本文將詳細(xì)介紹,希望可以幫助到您
    2012-11-11
  • java音樂(lè)播放器編寫(xiě)源碼

    java音樂(lè)播放器編寫(xiě)源碼

    這篇文章主要為大家詳細(xì)介紹了java音樂(lè)播放器的編寫(xiě)源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Maven配置單倉(cāng)庫(kù)與多倉(cāng)庫(kù)的實(shí)現(xiàn)(Nexus)

    Maven配置單倉(cāng)庫(kù)與多倉(cāng)庫(kù)的實(shí)現(xiàn)(Nexus)

    本文主要介紹了Maven配置單倉(cāng)庫(kù)與多倉(cāng)庫(kù)的實(shí)現(xiàn)(Nexus),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 基于Spring Web Jackson對(duì)RequestBody反序列化失敗的解決

    基于Spring Web Jackson對(duì)RequestBody反序列化失敗的解決

    這篇文章主要介紹了基于Spring Web Jackson對(duì)RequestBody反序列化失敗的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論