Java Bean“已”从属性名中删除
在一类“Ismarked”上有一个布尔值
当我在RESTful端点中返回该对象时,该对象的返回方式如下:
{..., "marketed": true, ...}
但是,当我创建对象时(通过传入一些JSON并使用GSON创建对象),它希望我提供如下内容:
{..., "isMarketed": true, ...}
有人能解释一下为什么会这样吗
你可以在下面搜索框中键入要查询的问题!
在一类“Ismarked”上有一个布尔值
当我在RESTful端点中返回该对象时,该对象的返回方式如下:
{..., "marketed": true, ...}
但是,当我创建对象时(通过传入一些JSON并使用GSON创建对象),它希望我提供如下内容:
{..., "isMarketed": true, ...}
有人能解释一下为什么会这样吗
# 1 楼答案
这是通过设计实现的——具有某些前缀的方法,如
is
(用于boolean/Boolean
返回类型的约定),get
和set
被映射为特定bean对象的Javabean类在前缀后指定的属性的getter或setter。通过这样做,接受bean对象和参数名称的遗传实用程序Javabean get和set方法可以以规范化的方式检索属性我假设您正在使用的库正在使用这个Javabean东西,所以不会使用完整的方法名。内部字段不能直接访问,因为getter和setter可能有额外的逻辑,或者可以处理实际上不存在的字段
# 2 楼答案
我将从属性名称中删除is。因为它令人困惑。 这就像将一个字段命名为
getBread
,而该字段应仅命名为bread
我认为字段的正确名称应该是
marketed
,getterisMarketed()
和settersetMarketed(boolean marketed)