2017-07-19 52 views
0

試圖找到一些property來禁用序列化策略。 spring.jackson.property-naming-strategy有其他選項,但如何完全禁用它?春季禁用序列化策略

@GetMapping(produces = arrayOf("application/json")) 
@ResponseBody 
Obj handle(){ 
    return new Obj(); 
} 

class Obj{ 
    String xValue = "value"; 
} 

默認的策略改變xValuexvalue

{ 
    "xvalue":"value" 
} 
+0

你到底要禁用? 「xValue」屬性的序列化?或者你想保留一個原來的財產名稱? –

+0

@VladimirL。 'xValue'只是一個例子。我有很多類似的對象。我想要禁用整個應用程序的這種行爲。 – eleven

+0

您是否嘗試過實施自己的PropertyNamingStrategy? – VitalyZ

回答

0

沒有辦法完全禁止傑克遜的命名策略。默認情況下,如果沒有使用策略,它將按原樣保留字段名稱。

在沒有註冊的自定義策略,默認的Java性能 命名策略被使用,這讓現場的名稱爲是,並刪除 的set/get /從方法前綴(以及較低的情況下,初始 大寫字母序列)。

FYI,here are some details about implementing your own custom naming strategy來自Jackson自己的作者。

來源https://fasterxml.github.io/jackson-databind/javadoc/2.8/com/fasterxml/jackson/databind/PropertyNamingStrategy.html