Page History
...
- get a specific instance of the object (findOne)
- get all the instances, paginated (findAll)
- save an instance (save)
- delete an instance (delete)additional
Additional methods should be added following
...
the conventions defined in the subsequent paragraphs.
Repository Object: find methods
Any additional methods that return a subset of the collection exposed by the repository should be annotated with @SearchRestMethod annotation so to be discovered as "search" capabilities of the repository and automatically exposed over the /search endpoint sub-path of the resource type (i.e. /
...
community/search/
...
Jira | ||||||
---|---|---|---|---|---|---|
|
...
top).
The java method in the repository class can be named in any way, the sub-path used to build the rest endpoint is by default equals to the method name but can be forced to a specific value using the name parameter in the annotation
The java method must return a Page of rest resources or a single resource but can accept any kind of arguments. If the method has a Pageable argument it is automatically bind, the other argument are bind from HTTP parameters using the Spring Converter Framework but they need to be annotated with the @Param annotation where the name attribute define the name of the HTTP parameter (see an example here)
Repository Object: massive conditional update/deletion
...
TBD. Probably it could be useful to introduce an approach similar to the one adopted for find methods with a common /bulk sub-path
Linked Repository Object (TODO - proposal)
...