2017-07-19 51 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