spring-projects / spring-data-rest

Simplifies building hypermedia-driven REST web services on top of Spring Data repositories
https://spring.io/projects/spring-data-rest
Apache License 2.0
913 stars 559 forks source link

SortTranslator ignores snake-cased properties [DATAREST-1276] #1638

Open spring-projects-issues opened 6 years ago

spring-projects-issues commented 6 years ago

Édouard Hue opened DATAREST-1276 and commented

Given a @Document annotated class with the following attribute, and an according @RepositoryRestResource:

@Field
@JsonProperty("cooking_duration")
private Duration cookingDuration;

When issuing a GET request with ?sort=cooking_duration, the org.springframework.data.rest.webmvc.json.JacksonMappingAwareSortTranslator won't translate cooking_duration to cookingDuration and no sorting is performed.

When changing @JsonProperty("cooking_duration") to @JsonProperty("cooking-duration"), and doing a ?sort=cooking-duration request, JacksonMappingAwareSortTranslator properly resolves the property name.

It looks like org.springframework.data.rest.webmvc.json.JacksonMappingAwareSortTranslator.SortTranslator#SPLITTER is used to split the property name with _ and .. I can see the case for splitting on . for nested properties paths, but why would you split on underscores?


No further details from DATAREST-1276

kevvvvyp commented 3 years ago

Any update on this one? Issue is still there in sdr-3.4.6 https://stackoverflow.com/questions/66829865/spring-data-rest-cannot-sort-by-localdatetime-field

It seems it has been around for a while? https://stackoverflow.com/questions/40746303/spring-data-rest-sorting-fields-with-underscores/40862101#40862101

tgeens commented 1 year ago

Bumped into this bug today in SDR-3.7.13

balta3 commented 8 months ago

Any idea when this will be fixed?

italoborges commented 3 months ago

Same happening to me, any idea when this will be fixed?

wmrodrigues commented 3 months ago

Does anyone have any updates on that?