Convert entity property camel case to snake case in json in jhipster project Convert entity property camel case to snake case in json in jhipster project json json

Convert entity property camel case to snake case in json in jhipster project


You have two possibilities:

Explicit naming your properties:

@JsonProperty("name_bangla")private String nameBangla;@JsonProperty("name_english")private String nameEnglish;

or changing how jackson (which is used for de/serialization) works:

Jackson has a setting called PropertyNamingStrategy.SNAKE_CASE which you can set for the jackson objectmapper.

So, you need to configure Jackson for that, e.g. by adding your own object mapper:

@Configurationpublic class JacksonConfiguration {    @Bean    public Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder() {        return new Jackson2ObjectMapperBuilder().propertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)    }} 

As far as I know, in older version of JHipster, there was already a JacksonConfiguration to configure the JSR310 time module, but was removed later...

Adding this to your application.yml should also work:

spring.jackson.property-naming-strategy=SNAKE_CASE


Also you can use annotation to define naming strategy per class.

Little example in Kotlin:

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy::class)data class Specialization(val altUrl: String, val altId: Int, val altName: String)