Spring rest 资源变更路径

我目前有一个使用 @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.

相关文章