我有一个基于spring.io指南的简单RepositoryRestResource
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long>{
List<Person> findByLastName(@Param("name") String lastName);
}
这确实有效,因为我的REST客户端返回
{
"_links" : {
"people" : {
"href" : "http://127.0.0.1:8080/people{?page,size,sort}",
"templated" : true
},
"profile" : {
"href" : "http://127.0.0.1:8080/profile"
}
}
}
但我的问题是,http://127.0.0.1:8080
的{{1}}部分来自何处,我该如何更改呢?当我的应用程序投入生产(或我的任何环境,如本地或开发)时,我宁愿能够看到类似_links
的内容。
如果重要,我会用http://api.mydomain.com
编译我的程序并将其作为服务器上的独立jar运行。
答案 0 :(得分:1)
使用HttpServletRequest#getRequestURL(或getRequestURI
)计算了您网址的主机和端口。因此,它将始终反映客户端在执行请求时使用的主机和端口。
将其部署为api.yourdomain.com
后,这就是您在链接网址中获得的内容。