Skip to content

Commit a4e5632

Browse files
committed
define search v3
1 parent 5eef3f6 commit a4e5632

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,22 @@ This project, implement instance of basic feature, <br> you maybe want use for A
5757
3 - use "@validator" annotation on field of entity for validate <br>
5858
4 - log for validation and save error-message in log file <br>
5959

60-
### search feature
60+
### search v2 base on NativeQuery feature
6161
1 - query clause, order for result and pagination can define in client Request as queryString and handle in AbstractController <br>
6262
2 - buildNativeQueryCondition method in Utils class use for create native query base on request queryString <br>
6363
3 - dynamic order and direction for sort data handle in daoRepository <br>
6464
4 - more detail about search feature, see searchEngineV2.drawio <br>
6565
5 - sample rest search request: <br>
6666
- http://localhost:9090/api/v2/user/search?firstName=h&orderBy=firstName_asc, gender_desc&page=1&size=5 <br>
6767

68+
### search v3 base on CriteriaBuilder feature
69+
1 - query clause, order for result and pagination can define in client Request as queryString and handle in AbstractController <br>
70+
2 - define Quartet from javaTuples lib that use for define name of field from client, name of field in model, sqlOperation and sqlCondition <br>
71+
3 - define Sort.Order object of spring with getSortOrderFromPagedQuery method to use for order by Clause<br>
72+
4 - then use getUserQueryWithCriteriaBuilder in userRepository for create query and get Result<br>
73+
5 - sample rest search request: <br>
74+
- http://localhost:9090/api/v2/user/search?firstName=h&orderBy=firstName_asc, gender_desc&page=1&size=5 <br>
75+
6876
### test feature
6977
1 - generate sample data baseOn model with javaFaker <br>
7078
2 - Spock framework use for test <br>

0 commit comments

Comments
 (0)