我正在使用Spring开发新的REST API,我有BaseResponse
类,该类充当所有响应的基本响应。此类包含String requestUuid;
属性,在某些情况下,此requestUuid
必须使用属性名称requestUuid
进行序列化;在其他情况下,必须将其序列化为request_uuid
,我知道我可以将@JsonProperty
用作字段级别注释,但是它将影响所有响应。有什么方法可以专门为每个派生类重写属性名称。
最佳答案
您可以在方法级别上使用@JsonProperty
。这样,您可以在子类中覆盖字段的getter方法并对其进行注释。
例如:
class BaseResponse {
private String requestUuid;
public getRequestUuid() {
return requestUuid;
}
}
class OtherResponse extends BaseResponse {
@Override
@JsonProperty("request_uuid")
public getRequestUuid() {
return super.getRequestUuid();
}
}