如何使用动态基本路径配置Spring Data REST(SDR)存储库?
正如我asked earlier,我想要以下URI空间:
/api/{tenant}/
/api/{tenant}/people
/api/{tenant}/products
/api/{tenant}/services
...
/api/{tenant}/foo
其中每个存储库(人员,产品,服务,...,foo)是典型的(或尽可能接近典型的)Spring Data REST存储库,例如:
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository
extends PagingAndSortingRepository<Person, Long> {
}
@Data
@Entity
@NoArgsConstructor
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String email;
}
在运行时添加租户,每个租户使用相同的存储库实现,并将租户信息隐式传递到存储库。
使用Spring Boot 1.3在Spring Data REST中有一种“简单”的方法吗?
今天,Spring Data REST休息了一个静态URL空间(即基本路径),例如:
/api/people
/api/products
/api/services
...
/api/foo
虽然我们可以向此模型添加Tenant
实体和存储库,并将模型限制添加到每个实体,但如果我们可以传达租户信息而不将其明确编码到域模型中,那将会“更好” 。所以问题是,我们如何用SDR做到这一点?