获取当前主机host
今天在学习中遇到一个问题,存储到数据库中的视频url没有ip和port信息,导致无法正常播放视频。
直接写死主机和端口又不太符合实际要求,因为写死的话需要每次改变dev和prod环境时都要修改。话不多说,直接上代码。
@Value(value = "${server.port}")
private Integer port;
/**
* 获取本机host
* @return
*/
@ResponseBody
@ApiOperation("获取本机host")
@GetMapping("/host")
public ResultData getHost() throws UnknownHostException {
InetAddress addr = InetAddress.getLocalHost();
return ResultData.build().success(addr.getHostAddress()+":"+port);
}
使用@Value从资源文件中读取端口号,然后与InetAddress类获取的主机地址拼接即可。这样做的好处就是避免了每次切换运行环境都需要手动修改主机和端口号。