用户登录
用户注册

分享至

Spring rest 资源变更路径

  • 作者: 不丑的男人
  • 来源: 51数据库
  • 2022-11-14

问题描述

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

软件
前端设计
程序设计
Java相关