Jackson não esta aplicando o SNAKE_CASE

2 respostas
jsonjavaspring
H

Estou com um projeto em spring boot, e no arquivo aplication.yml eu defini:

spring:
  jackson:
    property-naming-strategy: SNAKE_CASE

Porem não surtiu efeito, eu ainda preciso colocar o payload da request em CamelCase, ja ate tentei colocar annotations como

@JsonProperty("snake_case")

ou

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)

porem nada. O que estou fazendo de errado? Como posso resolver isso?

2 Respostas

L

Putz, pelo que li, parece que realmente só funciona para serialização. Para deserializar nesse estilo, as soluções que achei foram criando seu próprio PropertyNamingStrategy.

L

Achei essa solução também que vc pode testar:

@Bean
@Primary
public Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder() {
    Jackson2ObjectMapperBuilder jsonBuilderConfig = new Jackson2ObjectMapperBuilder();
    jsonBuilderConfig.propertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
    return jsonBuilderConfig;
}

Esse é o builder que o spring usa para criar as instâncias de ObjectMapper para trabalhar com json.

Criado 20 de outubro de 2021
Ultima resposta 22 de out. de 2021
Respostas 2
Participantes 2