【发布时间】:2016-03-22 11:04:31
【问题描述】:
我是第一次使用Spring Data REST,我是这项技术的新手。
我有这种情况:
- 一个展示公司和产品的网络应用
- 每家公司都可以拥有一种或多种产品
我的基本实现似乎运行良好。
当我转到网址时:https ://localhost:8881/my-project/api/companies
我有这个结果:
{
"_embedded" : {
"companies" : [ {
"companyName" : "Company_Name",
"companyId" : "1234",
"_links" : {
"self" : {
"href" : "https: //localhost:8881/my-project/api/companies/015d8038-96dc-42cb-94af-1ab49158150f"
},
"company" : {
"href" : "https: //localhost:8881/my-project/api/companies/015d8038-96dc-42cb-94af-1ab49158150f{?projection}",
"templated" : true
},
"products" : {
"href" : "https: //localhost:8881/my-project/api/companies/015d8038-96dc-42cb-94af-1ab49158150f/products"
}
}
},
如果我转到 URL:
https ://localhost:8881/my-project/api/companies/015d8038-96dc-42cb-94af-1ab49158150f/products
我获得了那家公司的所有产品。
这是正确的,但我想在不使用 URL 中的UUID 的情况下获得相同的结果,例如:https ://localhost:8881/my-project/api/companies/Company_Name/products
下面是我对公司存储库的实际实现:
public interface CompanyBaseRepository extends PagingAndSortingRepository<Company, UUID>{
}
这是产品存储库:
public interface ProductBaseRepository extends PagingAndSortingRepository<Product, UUID>{
}
应该使用什么实现来完成这项任务?
谢谢。
【问题讨论】:
-
你的意思是不使用 uuid 你想使用公司名称?
-
没错,我想使用公司名称而不是 uuid 访问。
-
首先你确定公司名称永远是唯一的吗?
-
是的,公司名称永远是唯一的
-
客户端不应该(!)构建链接,而只使用收到的链接。因此,如果您不发送包含名称的链接,客户如何知道它们?为什么要发送包含名称的链接?
标签: spring java-8 spring-data-rest