日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

    歡迎訪問 生活随笔!

    生活随笔

    當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

    编程问答

    @JsonProperty注解解析

    發布時間:2025/3/12 编程问答 58 豆豆
    生活随笔 收集整理的這篇文章主要介紹了 @JsonProperty注解解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    1. 概述

    來源: @JsonPrpperty是jackson包下的一個注解,詳細路徑(com.fasterxml.jackson.annotation.JsonProperty;)作用:@JsonProperty用在屬性上,將屬性名稱序列化為另一個名稱。例子:public class Person{@JsonProperty(value = "name")private String realName;}

    拓展:jackson可以理解為java對象和json對象進行轉化的工具包。

    2. 實例

    解釋:定義一個實體類,定義一個Controller層,通過post請求傳入body,分別驗證加和不加@JsonProperty注解的區別。

    2.1 引入依賴

    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId> </dependency>

    2.2 創建實體類

    package com.gxn.demo.domain; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects;public class Person { // 先將該注解注釋掉 // @JsonProperty(value = "name")private String realName;private Integer age;@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Person person = (Person) o;return Objects.equals(realName, person.realName) &&Objects.equals(age, person.age);}@Overridepublic int hashCode() {return Objects.hash(realName, age);}public String getRealName() {return realName;}public void setRealName(String realName) {this.realName = realName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;} }

    2.3 定義Controller,返回結果是realName和age的值

    package com.gxn.demo.controller;import com.gxn.demo.domain.Person; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController;@RestController public class PersonController {@PostMapping("/name")public String getName(@RequestBody Person person) {String name = person.getRealName();Integer age = person.getAge();String res = name + " : " + age;return res;}}

    2.4 驗證結果

    • 未加注解,body中json的key和實體屬性一致:
    • 未加注解,body中json的key和實體屬性不一致:
    • 加注解,body中json的key和實體屬性一致:

    • 加注解,body中json的key與注解的value一致::

    3. 總結

    通過@JsonProperty注解可以改變實體對應屬性名,一旦使用該注解我們在body中傳參數的就需要按照注解中value的值來定義key。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的@JsonProperty注解解析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。