如何更改Spring RepositoryRestResource中链接的服务器名称?

时间:2017-04-09 14:41:44

标签: java spring spring-boot spring-rest

我有一个基于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运行。

1 个答案:

答案 0 :(得分:1)

使用HttpServletRequest#getRequestURL(或getRequestURI)计算了您网址的主机和端口。因此,它将始终反映客户端在执行请求时使用的主机和端口。

将其部署为api.yourdomain.com后,这就是您在链接网址中获得的内容。