Java Can';t从Swagger+;运动衫
我有基于Jersey 1.18.1的RESTful服务,我想通过显示我的API。Java Can';t从Swagger+;运动衫,java,api,rest,jersey,swagger,Java,Api,Rest,Jersey,Swagger,我有基于Jersey 1.18.1的RESTful服务,我想通过显示我的API。 首先我必须得到JSON。我阅读了以下说明:。Swagger允许设置不同方法的配置,我决定使用自定义应用程序子类。我一步一步地做了每件事,但我无法得到我必须使用的JSON 我所做的: 我的自定义应用程序 @ApplicationPath("api/v1") public class DiscountsApp extends Application{ public DiscountsApp() { BeanC
首先我必须得到JSON。我阅读了以下说明:。Swagger允许设置不同方法的配置,我决定使用自定义应用程序子类。我一步一步地做了每件事,但我无法得到我必须使用的JSON 我所做的:
我的自定义应用程序
@ApplicationPath("api/v1")
public class DiscountsApp extends Application{
public DiscountsApp() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8002");
beanConfig.setBasePath("swaggerapi");
beanConfig.setResourcePackage("alexiuscrow.diploma.endpoints");
beanConfig.setScan(true);
}
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new HashSet();
resources.add(ShopsResources.class);
//...
resources.add(com.wordnik.swagger.jaxrs.listing.ApiListingResource.class);
resources.add(com.wordnik.swagger.jaxrs.listing.SwaggerSerializers.class);
return resources;
}
}
pom.xml中的一些依赖项
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey-jaxrs</artifactId>
<version>1.5.1-M2</version>
</dependency>
javax.ws.rs
但我没有结果。
我在我的应用程序的根目录中没有找到swagger.json
(/tomcat8/webapps/app
)
怎么了?
如何使用API获取JSON?我没有正确构建url。
正确:
http://{host}:{port}/{context root of application}/{path from@ApplicationPath
}/swagger.json
就我而言:
Thx to.添加相对路径对我有效(这是使用.netcore 1.1)
你试过了吗?是的。不工作没有帮助。你有什么错误?404还是别的什么?你能访问自己的API吗?我在连接服务器时出错。chrome:“此网页不可用”。是的,我可以调用API和应用程序工作良好。但应用程序部署在8080端口。然后呢?
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey-jaxrs</artifactId>
<version>1.5.1-M2</version>
</dependency>
app.UseSwaggerUI(s => {
s.RoutePrefix = "help";
s.SwaggerEndpoint("../swagger/v1/swagger.json", "MySite");
s.InjectStylesheet("../css/swagger.min.css");
});