1
實際上,我正在嘗試爲我的REST服務生成swagger.json。 我成功地使用jersy來完成它,但現在我們在服務中不使用jersy,我們只是使用Jax-rs,所以現在我無法生成它並得到了404錯誤代碼。無法從Swagger(swagger-jaxrs)獲取json
這裏是我的POM依賴
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
,這是我的應用程序配置應用
import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import com.skios.endpoint.EmployeeEndpoint;
import com.skios.endpoint.ShopsEndpoint;
import io.swagger.jaxrs.config.BeanConfig;
import io.swagger.jaxrs.listing.ApiListingResource;
import io.swagger.jaxrs.listing.SwaggerSerializers;
@ApplicationPath("api")
public class AppConfiguration extends Application {
public AppConfiguration() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[] { "http" });
beanConfig.setHost("localhost:7070");
beanConfig.setBasePath("app");
beanConfig.setResourcePackage("com.skios.endpoint");
beanConfig.setScan(true);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new HashSet();
resources.add(ShopsEndpoint.class);
resources.add(EmployeeEndpoint.class);
// ...
resources.add(ApiListingResource.class);
resources.add(SwaggerSerializers.class);
return resources;
}
}
,這些是我的終點
@Api(value = "/employees", description = "Endpoint for employee listing")
@Path("/employees")
public class EmployeeEndpoint {}
@Path("/shops")
@Api(value="/shops", description="Shops")
public class ShopsEndpoint {}
當我試圖進入andnow swagger.json文件的路徑
http://localhost:7070/MavenSwaggerTest/api/swagger.json
i got 404 error code.
那麼是什麼問題?誰能幫我? 謝謝
您是否在日誌中看到任何其他錯誤(啓動時)?你能給出一個你用來訪問你的API的示例URL嗎(我認爲你可以成功做到這一點)? – Ron
@Ron:非常感謝您的回覆,但實際上我沒有在控制檯中發現任何錯誤,我正在通過Tomcat v8進行測試,這也是我的項目>> https://drive.google.com/open? id = 0B1u4YdligQ8YYllFUGVCbm5seHM請檢查它 –
這不是說swagger.json不可訪問,它的任何內容都不可訪問 - 甚至不是您的商店資源。 JAX-RS只是一個規範和一組接口。你可以寫一些通用的,但你需要將它掛鉤到實現。 swagger-jaxrs會拉入舊版球衣,但這還不夠。你的第一步是修復應用程序,使其運行。 – Ron