Skip to content

Commit 926df92

Browse files
committed
Fix #1324: Add @JsonAlias support to SimplePageable for SNAKE_CASE compatibility
Signed-off-by: weslyvinicius <weslyvinicius@hotmail.com>
1 parent 21c53dd commit 926df92

2 files changed

Lines changed: 13 additions & 12 deletions

File tree

spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/PageJacksonModule.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,10 @@ static class SimplePageable implements Pageable {
243243
private final PageRequest delegate;
244244

245245
SimplePageable(
246-
@JsonProperty("pageNumber") @JsonAlias({"page-number", "page_number", "pagenumber", "PageNumber"}) int number,
247-
@JsonProperty("pageSize") @JsonAlias({"page-size", "page_size", "pagesize", "PageSize"}) int size,
248-
@JsonProperty("sort") Sort sort) {
246+
@JsonProperty("pageNumber") @JsonAlias({ "page-number", "page_number", "pagenumber",
247+
"PageNumber" }) int number,
248+
@JsonProperty("pageSize") @JsonAlias({ "page-size", "page_size", "pagesize", "PageSize" }) int size,
249+
@JsonProperty("sort") Sort sort) {
249250
delegate = buildPageRequest(number, size, sort);
250251
}
251252

spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/PageJacksonModuleTests.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ void serializeAndDeserializeFilledMultipleCascade() throws JsonProcessingExcepti
192192
@Test
193193
void deserializePageableWithHyphenatedAlias() throws IOException {
194194
// Given
195-
ObjectMapper snakeCaseMapper = objectMapper.copy();
196-
snakeCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.KEBAB_CASE);
195+
ObjectMapper kebabOjectMapepr = objectMapper.copy();
196+
kebabOjectMapepr.setPropertyNamingStrategy(PropertyNamingStrategies.KEBAB_CASE);
197197
File file = new File("./src/test/resources/withPageableAliasHyphen.json");
198198
// When
199-
Page<?> result = objectMapper.readValue(file, Page.class);
199+
Page<?> result = kebabOjectMapepr.readValue(file, Page.class);
200200
// Then
201201
assertThat(result).isNotNull();
202202
assertThat(result.getTotalElements()).isEqualTo(15);
@@ -231,13 +231,13 @@ void deserializePageableWithUnderscoreAlias() throws IOException {
231231
@Test
232232
void deserializePageableWithLowercaseAlias() throws IOException {
233233
// Given
234-
ObjectMapper snakeCaseMapper = objectMapper.copy();
235-
snakeCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CASE);
234+
ObjectMapper lowerCaseMapper = objectMapper.copy();
235+
lowerCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CASE);
236236

237237
File file = new File("./src/test/resources/withPageableAliasLowercase.json");
238238

239239
// When
240-
Page<?> result = objectMapper.readValue(file, Page.class);
240+
Page<?> result = lowerCaseMapper.readValue(file, Page.class);
241241
// Then
242242
assertThat(result).isNotNull();
243243
assertThat(result.getTotalElements()).isEqualTo(8);
@@ -251,12 +251,12 @@ void deserializePageableWithLowercaseAlias() throws IOException {
251251
@Test
252252
void deserializePageableWithPascalCaseAlias() throws IOException {
253253
// Given
254-
ObjectMapper snakeCaseMapper = objectMapper.copy();
255-
snakeCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.UPPER_CAMEL_CASE);
254+
ObjectMapper upperCamelCaseMapper = objectMapper.copy();
255+
upperCamelCaseMapper.setPropertyNamingStrategy(PropertyNamingStrategies.UPPER_CAMEL_CASE);
256256
File file = new File("./src/test/resources/withPageableAliasPascalCase.json");
257257

258258
// When
259-
Page<?> result = objectMapper.readValue(file, Page.class);
259+
Page<?> result = upperCamelCaseMapper.readValue(file, Page.class);
260260
// Then
261261
assertThat(result).isNotNull();
262262
assertThat(result.getTotalElements()).isEqualTo(20);

0 commit comments

Comments
 (0)