使用Restlet 2.3.3我已经声明我的Restlet应用程序派生自SwaggerApplication。当我访问默认的/ api-docs URI时,我观察到元数据的Swagger版本是1.2。随后,我无法在没有错误的情况下将其加载到Swagger-UI中。
如何从Restlet的Swagger扩展中获取Swagger 2.0 JSON?该文档似乎表明它可以输出v2.0 JSON。
谢谢!
答案 0 :(得分:3)
班级SwaggerApplication
仅支持Swagger 1.2。如果要使用Swagger 2.0,则必须手动附加相应的restlet以根据类Swagger2SpecificationRestlet
生成内容,如下所述:
public Restlet createInboundRoot() {
Router router = new Router(getContext());
// Configuring Swagger 2 support
Swagger2SpecificationRestlet swagger2SpecificationRestlet
= new Swagger2SpecificationRestlet(this);
swagger2SpecificationRestlet.setBasePath(
"http://myapp.com/api/v1");
swagger2SpecificationRestlet.attach(router);
return router;
}
通过这样的配置,获取Swagger内容的关联资源将附加在路径/swagger.json
上。您可以注意到,您可以使用方法Swagger2SpecificationRestlet#attach(Router, String)
指定自己的路径。
希望它可以帮到你, 亨利