JEST uses HTTP as communication protocol and HTTP URI as its command syntax.
A JEST URI introduces specific syntax rule on a standard URI to interpret the commands.
|
Server Function |
JEST URI |
---|---|---|
02 |
List simple name of the domain classes |
http://www.jpa.com/jest/domain |
03 |
List the key-value properties of the persistent unit |
http://www.jpa.com/jest/properties |
04 |
Find an instance by key |
http://www.jpa.com/jest/find?type=Person&123456789 |
05 |
Find an instance by key |
http://www.jpa.com/jest/find?type=Person&ssn=123456789&name=John |
06 |
Get the result of the query with no parameter |
http://www.jpa.com/jest/query?q=select p from Person p |
07 |
Get the result of the query with single parameter |
http://www.jpa.com/jest/query?q=select p from Person p where p.name=:name&name=John |
08.1 |
Get the result of the query with multiple parameters |
http://www.jpa.com/jest/query?q=select p from Person p where p.name=:name and age > :age&name=John&age=20 |
08.2 |
|
http://www.jpa.com/jest/query?q=select p from Person p where p.first=:first and p.last=:last&first=John&last=Doe |
09 |
Get the single result of the query |
http://www.jpa.com/jest/query/single?q=select p from Person p where p.name=:name&name=John |
10 |
Get the result of the named query |
http://www.jpa.com/jest/query/named?q=QueryPersonByName&name=John |
11.1 |
Get the single result of the named query |
http://www.jpa.com/jest/query/single/named?q=QueryPersonByName&name=John |
11.2 |
or |
http://www.jpa.com/jest/query/named/single?q=QueryPersonByName&name=John |
12 |
Get first 20 rows of query using a fetch plan |
http://www.jpa.com/jest/query/fecthplan=myPlan/ignoreCache/maxResult=20?q=select![]() p from Person p |
uri := http://host[:port]/action/[qualifier]*['?'[parameter]'&'*] qualifier := qualifier-key['='qualifier-value] parameter := parameter-key'='parameter-value action : denotes the JPA operation to be performed. For example, find, query, insert, merge, remove, properties, domain etc. qualifier : qualifies the action. specific to the action, e.g. a query action can qualify with query/single to get a single result as in above ex09. zero or more qualifier can be specified. qualifier may have value separated by '=' each qualifier is separated by '/' qualifier ordering is not significant (see above ex11.1 and ex11.2) parameter : parameter for the action For example, JPQL string is a parameter for a query action zero or more parameter can be specified parameter may have value separated by '=' each parameter is separated by '&' first parameter can have special semantics based on action, e.g. first parameter for 'query' is JPQL string, or first parameter for 'find' is the entity name, etc.