Compare commits
4 Commits
c3ff12aaec
...
473e1ce223
Author | SHA1 | Date | |
---|---|---|---|
473e1ce223 | |||
3b9f0a30c2 | |||
34076294a7 | |||
c6df5cd925 |
2
pom.xml
2
pom.xml
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>xyz.zhouxy.plusone</groupId>
|
||||
<artifactId>plusone-commons</artifactId>
|
||||
<version>1.0.4.-SNAPSHOT</version>
|
||||
<version>1.0.3</version>
|
||||
|
||||
<properties>
|
||||
<!-- Basic properties -->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2024 the original author or authors.
|
||||
* Copyright 2024-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -184,24 +184,34 @@ public class PagingAndSortingQueryParamsTests {
|
||||
assertThrows(IllegalArgumentException.class, () -> queryParams.buildPagingParams()); // NOSONAR
|
||||
}
|
||||
|
||||
static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
|
||||
@Test
|
||||
void testGson() throws Exception {
|
||||
void testGson() {
|
||||
Gson gson = new GsonBuilder()
|
||||
.registerTypeAdapter(LocalDate.class, new TypeAdapter<LocalDate>() {
|
||||
|
||||
@Override
|
||||
public void write(JsonWriter out, LocalDate value) throws IOException {
|
||||
out.value(dateFormatter.format(value));
|
||||
out.value(DateTimeFormatter.ISO_DATE.format(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public LocalDate read(JsonReader in) throws IOException {
|
||||
return LocalDate.parse(in.nextString(), dateFormatter);
|
||||
return LocalDate.parse(in.nextString(), DateTimeFormatter.ISO_DATE);
|
||||
}
|
||||
|
||||
})
|
||||
.registerTypeAdapter(LocalDateTime.class, new TypeAdapter<LocalDateTime>() {
|
||||
|
||||
@Override
|
||||
public void write(JsonWriter out, LocalDateTime value) throws IOException {
|
||||
out.value(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public LocalDateTime read(JsonReader in) throws IOException {
|
||||
return LocalDateTime.parse(in.nextString(), DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
||||
}
|
||||
})
|
||||
.create();
|
||||
try (SqlSession session = sqlSessionFactory.openSession()) {
|
||||
AccountQueryParams params = gson.fromJson(JSON_STR, AccountQueryParams.class);
|
||||
@@ -212,7 +222,7 @@ public class PagingAndSortingQueryParamsTests {
|
||||
List<AccountVO> list = accountQueries.queryAccountList(params, pagingParams);
|
||||
long count = accountQueries.countAccount(params);
|
||||
PageResult<AccountVO> accountPageResult = PageResult.of(list, count);
|
||||
// TODO [修复] 从 JDK 17 开始,也允许使用反射访问内部字段,所以这里会报错。参考 https://github.com/google/gson/blob/main/Troubleshooting.md#reflection-inaccessible
|
||||
|
||||
log.info(gson.toJson(accountPageResult));
|
||||
|
||||
assertEquals(Lists.newArrayList(
|
||||
@@ -227,7 +237,7 @@ public class PagingAndSortingQueryParamsTests {
|
||||
}
|
||||
|
||||
AccountQueryParams queryParams = gson.fromJson(WRONG_JSON_STR, AccountQueryParams.class);
|
||||
assertThrows(IllegalArgumentException.class, () -> queryParams.buildPagingParams()); // NOSONAR
|
||||
assertThrows(IllegalArgumentException.class, queryParams::buildPagingParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user