Miz*_*man 6 api rest jax-rs jersey swagger
最近我用我的一个项目配置了swagger.它在tomcat上使用jersey2和JAX-WS来获得宁静的API.我使用了以下手册进行配置
https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-2.X-Project-Setup-1.5
$ {basepath} /swagger.json响应如下
{ "招摇": "2.0", "信息":{ "版本": "1.0.0", "称号": ""}, "主人": "本地主机:8080", "基本路径": "/ myapi" "方案":[ "HTTP"]}
不幸的是,它不包含我的资源包中的任何api.我试过以下问题的答案
但它也没有帮助.上面的答案使用com.wordnik.swagger.*package(s)但是手册中我得到了io.swagger.*package(s),它没有JaxrsApiReader类
我的假设是swagger无法从资源包中扫描我的api列表.但无法弄清楚我错过了哪种配置或哪些代码片段.
有什么帮助吗?....
小智 3
我遇到了同样的问题,我使用了一种对我有用的不同方法,仅在我的应用程序类中添加信息。如果您有的话,这可能会帮助您:
public class MyApi extends Application {
public MyApi() {
super();
BeanConfig beanConfig = new BeanConfig();
beanConfig.setTitle("MyApi");
beanConfig.setVersion("0.0.1");
beanConfig.setSchemes(new String[]{"http", "https"});
beanConfig.setHost("localhost:8080");
beanConfig.setBasePath("/mypath");
//putting only the path to my api unblocked me, I removed "io.swagger.resources"
beanConfig.setResourcePackage("system.organization.api");
beanConfig.setScan(true);
beanConfig.setPrettyPrint(true);
}
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> s = new HashSet<>();
s.add(MyApis);
//for swagger
s.add(ApiListingResource.class);
s.add(SwaggerSerializers.class);
return s;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,swagger.json中就出现了带@API注解的类的链接
大部分是使用您使用的相同手册完成的:https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-1.X-Project-Setup-1.5
| 归档时间: |
|
| 查看次数: |
5740 次 |
| 最近记录: |