在Dropwizard服务运行方法上获取主机名

时间:2014-04-20 22:00:33

标签: java jersey swagger dropwizard

我正在尝试使用dropwizard + swagger来休息api ......以及它的文档。

我发现的问题是,招摇要求设置一个" basePath"初始化将为文档提供服务的资源时的属性:

@Override
public void run(MyServiceConfiguration configuration, Environment environment) throws Exception {
    ...
    ...
    // Set the swagger config options
    SwaggerConfig config = ConfigFactory.config();
    config.setApiVersion("1.0.0");
    config.setBasePath("http://localhost:9090/api");

我可以从配置参数中获取端口和根路径。 但是,当我使用服务运行方法时,有没有办法真正获得协议+主机名?

1 个答案:

答案 0 :(得分:1)

尝试设置这样的相对路径:

config.setBasePath(".." + environment.getApplicationContext().getContextPath());