ajaxon ajaxon - 1 month ago 25
Java Question

Spring rest resource change path

I currently have a repository annotated with

@RepositoryRestResource
. I'm adding the following:

@RestResource(path="make", rel = "make", description = @Description("Get vehicles by make"))
List<Vehicle> findByMake(@Param("make") String make);


This works fine but the path by default is
api/vehicles/search/make
.

How can I remove the
/search
part and just have the path be
api/vehicles/make
?

Answer

Unfortunately it's not possible. I make some research in Spring Data Rest source code.

There are constants that uses for URI building in RepositorySearchController.java:

private static final String SEARCH = "/search";
private static final String BASE_MAPPING = "/{repository}" + SEARCH;

And here is the action method that handle requests by services with @RepositoryRestResource annotation. So as you can see the search part is hardcoded and couldn't be changed.