11
11
<dependency>
12
12
<groupId>io.github.u2ware</groupId>
13
13
<artifactId>spring-data-rest-jpa-specification</artifactId>
14
- <version>2.1.5.2 .RELEASE</version>
14
+ <version>2.1.5.3 .RELEASE</version>
15
15
</dependency>
16
16
----
17
17
@@ -188,8 +188,10 @@ link:./src/main/java/org/springframework/data/rest/core/event/RepositoryRestEven
188
188
public class MyPeopleHandler extends RepositoryRestEventHandler<People>{ //**
189
189
190
190
@Override
191
- public void handleBeforeRead(People entity, PredicateBuilder<People> builder) {
191
+ public void handlePredicateBuilder( PredicateBuilder<People> builder) {
192
192
193
+ People entity = builder.getRequestParamToEntity();
194
+
193
195
builder.and().eq("name", entity.getName())
194
196
.and().like(...)
195
197
...
@@ -209,7 +211,7 @@ public class MyPeopleHandler extends RepositoryRestEventHandler<People>{ //**
209
211
----
210
212
211
213
다음과 같이
212
- link:./src/main/java/org/springframework/data/rest/core/annotation/HandleBeforeRead .java[@HandleBeforeRead ]
214
+ link:./src/main/java/org/springframework/data/rest/core/annotation/HandlePredicateBuilder .java[@HandlePredicateBuilder ]
213
215
을 사용하는 방법도 있습니다.
214
216
215
217
[source,java,indent=1]
@@ -219,10 +221,12 @@ link:./src/main/java/org/springframework/data/rest/core/annotation/HandleBeforeR
219
221
@RepositoryEventHandler(People.class) //**
220
222
public class MyPeopleHandler {
221
223
222
- @HandleBeforeRead // --> /peoples/!q
223
- public void handleBeforeRead(People entity, PredicateBuilder<People> builder) {
224
+ @HandlePredicateBuilder // --> /peoples/!q
225
+ public void handlePredicateBuilder( PredicateBuilder<People> builder) {
224
226
225
- builder.and().eq("name", entity.getName())
227
+ MultiValueMap<String,Object> params = builder.getRequestParam();
228
+
229
+ builder.and().eq("age", params.getFirst("age"))
226
230
.and().like(...)
227
231
...
228
232
}
0 commit comments