gpt4 book ai didi

java - Jersey 中的字段名称可以与 setter 和 getter 不同吗?

转载 作者:行者123 更新时间:2023-12-01 21:16:22 25 4
gpt4 key购买 nike

嗨,我是 Jersey 的新人,正在编写一段代码,其中 setter 名称的定义与其字段名称不同。我很困惑这是否被允许,并且在通过 http 发送和接收 json 数据时是否会实际工作。请有人解释一下 getter 和 setter 在 Jersey 框架中实际上是如何工作的。

public class TestValue{
private String myLists;

@JsonSafeHtml
public String getMyLists() {
return myLists;
}

@JsonSafeHtml
public void setMyList(String myLists) {
this.myLists = myLists;
}

}

最佳答案

默认行为实际上是查看 bean 属性(getter 和 setter)。在这种情况下,该字段并不重要。让它们与方法命名相同只是一种约定。

getter 用于序列化(java 到 json)。 get 将从方法中删除,并且后面的第一个字母小写。这将是生成的 JSON 属性名称。

getSomething()    =>  { "something": "value" }
getAnotherThing() => { "anotherThing": "value" }

Setter 用于序列化(json 到 java)。 set 将被删除,并且后面的第一个字母小写。这是将查找与 JSON 属性匹配的方法名称。

{ "something": "value" }  =>  setSomething(String somthing)

// The following leads to an error. It doen't follow the
// casing rule where the first letter is lowercased
{ "Something": "value" } => setSomething(String somthing)

关于java - Jersey 中的字段名称可以与 setter 和 getter 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40012657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com