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)