Swagger api列表为空
最近我用我的一个项目配置了swagger。它在tomcat上使用jersey2和JAX-WS实现restful API。我使用了以下手册来配置 ${basepath}/swagger.json响应,包含以下内容 {“swagger”:“2.0”,“info”:{“version”:“1.0.0”,“title”:“}”,host:“localhost:8080”,“basePath”:“/myapi”,“schemes”:[“http”]} 不幸的是,它不包含我的资源包下的任何api。 我试着回答以下问题 但这也没用。 以上答案使用com.wordnik.swagger.*软件包 但是使用手册我得到了io.swagger.*包,它没有 JaxrsApiReader类 我的假设是swagger无法从资源包扫描我的api列表。 但无法找出我遗漏的配置或代码段Swagger api列表为空,api,rest,jersey,jax-rs,swagger,Api,Rest,Jersey,Jax Rs,Swagger,最近我用我的一个项目配置了swagger。它在tomcat上使用jersey2和JAX-WS实现restful API。我使用了以下手册来配置 ${basepath}/swagger.json响应,包含以下内容 {“swagger”:“2.0”,“info”:{“version”:“1.0.0”,“title”:“}”,host:“localhost:8080”,“basePath”:“/myapi”,“schemes”:[“http”]} 不幸的是,它不包含我的资源包下的任何api。 我试着
有什么帮助吗?…我也有同样的问题,我使用了一种不同的方法,只在我的应用程序类中添加信息。如果您有一个,这可能会帮助您:
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;
}
}
公共类MyApi扩展应用程序{
公共MyApi(){
超级();
BeanConfig BeanConfig=新BeanConfig();
beanConfig.setTitle(“MyApi”);
beanConfig.设置版本(“0.0.1”);
设置模式(新字符串[]{“http”,“https”});
beanConfig.setHost(“localhost:8080”);
beanConfig.setBasePath(“/mypath”);
//我只打开了api的路径,就删除了“io.swagger.resources”
beanConfig.setResourcePackage(“system.organization.api”);
beanConfig.设置扫描(真);
beanConfig.setPrettyPrint(真);
}
@凌驾
public Set>s=new HashSet();
s、 添加(MyAPI);
//招摇过市
s、 添加(ApiListingResource.class);
s、 添加(SwaggerSerializers.class);
返回s;
}
}
然后,带有@API注释的类的链接出现在swagger.json中
主要是使用您使用的同一手册完成的:看起来您忘了用
@Api
标记其余端点,我只需要在服务上放置@Api。我不需要重写GetClass()。在web.xml中,我添加了:resteasy.scan true从资源包中删除“io.swagger.resources”对我来说很有用。关于这个的swagger文档在哪里。我找不到。批注文档在这里: