问题描述
我目前有一个使用 @RepositoryRestResource 注释的存储库.我正在添加以下内容:
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);
这工作正常,但默认路径是 api/vehicles/search/make.
This works fine but the path by default is api/vehicles/search/make.
我怎样才能删除 /search 部分,只让路径是 api/vehicles/make?
How can I remove the /search part and just have the path be api/vehicles/make?
推荐答案
很遗憾,这是不可能的.我对 Spring Data Rest 源代码进行了一些研究.
Unfortunately it's not possible. I make some research in Spring Data Rest source code.
在 RepositorySearchController.java:
private static final String SEARCH = "/search"; private static final String BASE_MAPPING = "/{repository}" + SEARCH;
和here 是使用 @RepositoryRestResource 处理服务请求的操作方法注解.如您所见,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.