Spring Data Rest HATEOAS配置子URI

时间:2014-03-16 00:05:00

标签: rest spring-data spring-hateoas

配置Spring Hateoas的Spring Data Rest,特别是Spring-Data-Mongo。 像魅力一样。

麻烦的是,实体位于URI的根部。 例如,对于实体Person,并假设我的servlet上下文是abc,它将是http://localhost:8080/abc/person

我想要一个"子URI"处理这些实体。 例如,http://localhost:8080/abc/rest/personhttp://localhost:8080/abc/api/person

我查看过文档,手册,教程和搜索互联网。 我似乎无法找到解决方案。

有人知道怎么做吗?

此外,还有几个场景: 1.是否可以为实体提供多个URI?例如,... / person和... / people指向同一个实体。 2.如果我想为实体使用相同的URI,那么一个客户端可以访问某些方法的最佳实践是什么,而另一个客户端具有不同的访问权限。例如,一个客户端只能读取,另一个客户端只能读/写。

最后,是否有一个库使用API​​密钥实现Spring Security?

提前致谢,

1 个答案:

答案 0 :(得分:0)

将所有其余的apis放在子路径下使用RepositoryRestMvcConfiguration

package se.digiplant.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration;

import java.net.URI;

@Configuration
public class RestMvcConfig extends RepositoryRestMvcConfiguration {

    private static final URI BASE_URI = URI.create("/api");

    @Override
    protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        super.configureRepositoryRestConfiguration(config);
        config.setBaseUri(BASE_URI);
    }
}