swagger.json端点在WAS服务器上抛出“ 404未找到”

时间:2018-09-27 09:34:03

标签: websphere swagger jersey-2.0 swagger-2.0 was


我正在使用Jersey 2.x,并将Swagger集成到我的应用程序中。
Swagger与Jersey集成的API文档:Swagger-Core-Jersey-2.X-Project-Setup

<dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-jersey2-jaxrs</artifactId>
    <version>1.5.0</version>
</dependency>

  1. 在本地计算机+ Tomcat上运行:

    如果将Swagger Endpoint部署在Tomcat上,则可以在我的本地计算机上正常运行。请看下面的截图: enter image description here

  2. 在WebSphere(WAS)上运行:

    如果在WAS上部署相同的war文件,则GET swagger.json端点会收到404 Not Found错误。
    但是,其他CRUD操作API可以正常工作。我还能够看到在Bootstrap类中打印的LOG语句,这意味着挥舞着草草了,但是端点未按预期工作。 enter image description here

下面是我在web.xml中初始化的Bootstrap类

public class Bootstrap extends HttpServlet {
    private static Logger LOGGER = LogManager.getLogger(Bootstrap.class);
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        System.out.println("Inside Bootstrap........");
        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setTitle("Rest APIs Documentation");          
        beanConfig.setContact("you@your-company.com");
        beanConfig.setVersion("1.0.0");
        beanConfig.setSchemes(new String[]{"http"});
        //beanConfig.setHost("localhost:9060");
        //beanConfig.setBasePath("/mdm-swagger/api");
        beanConfig.setResourcePackage("com.api.rs");
        beanConfig.setPrettyPrint(true);
        beanConfig.setScan(true);
        LOGGER.info("Inside Bootstrap finish........");
    }
}

我已注释了host和basepath,因为我想像任何客户端一样使用swagger进行文档编制。
您能否提出可能的解决方案,为什么我会收到404 Not Found错误?

非常感谢。

0 个答案:

没有答案