如何配置SpringDataREST以返回带有模板化ID的链接,例如users/{id}

ffscu2ro  于 2023-08-04  发布在  Spring
关注(0)|答案(1)|浏览(88)

假设我有一个User实体的Spring Data存储库。然后,Spring Data REST在其基础路径上生成以下HAL JSON:

{
  "_links": {
    "users": {
      "href": "http://localhost:8080/users"
    }
  }
}

字符串
我还希望我的客户端知道,他们可以调用http://localhost:8080/users/{id}来获取特定用户(例如,http://localhost:8080/users/25)
如何配置Spring Data REST为所有实体生成此链接?例如,我希望Spring Data REST返回如下内容:

{
  "_links": {
    "users": {
      "href": "http://localhost:8080/users/{id}",
      "templated": true
    }
  }
}

更新

一个很好的例子是我试图实现的https://api.github.com/。API明确指出https://api.github/users/{user}是API的一部分。例如,https://api.github.com/users/odrotbohm是一个有效的调用。
如何让Spring Data REST指示htts://localhost:8080/users/{id}是我的API的一部分?

rta7y2nd

rta7y2nd1#

只需扩展PagingAndSortingRepository接口即可。它还提供了用于分页和排序数据的其他方法。

@RepositoryRestResource(collectionResourceRel = "users", path = "users")
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
}

字符串
请注意@RepositoryRestResource注解。它允许更改导出详细信息,如JSON响应中的集合名称或存储库的基本路径。请查看this official Spring guide

相关问题