Weblogic 12.2 上的 Swagger bootstrap

Swagger bootstrap on Weblogic 12.2

我想在 Weblogic 上使用 swagger,但我不知道如何通过 Java 来 bootstrap。

项目中没有Spring依赖,没有web.xml。这是一个简单的 JAX-RS 项目。

http://localhost:7001/..../swagger.json 的请求生成了正确的内容,但我需要配置 Swagger 的基础包和其他人员。

我曾尝试使用以下解决方案,但它不起作用: public class SwaggerJaxrsConfig 扩展了 HttpServlet {

public class SwaggerConfig extends HttpServlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);

        System.out.println("hello!!!!!!!!!!!!!!!!!!!!!!");

        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0.2");
        beanConfig.setBasePath("http://localhost:7001/.../resources/swagger.json");
        beanConfig.setResourcePackage("a.b.c");
        beanConfig.setScan(true);
    }
}

知道如何bootstrap 招摇过市吗?

最后我想出了解决办法:

以下代码在 Weblogic 12.2.1 上运行良好:

package com.xxx.yyy.rest.swagger;

import io.swagger.jaxrs.config.DefaultJaxrsConfig;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;

@WebServlet(
        name = "SwaggerBootstrapServlet",
        urlPatterns = { "/SwaggerBootstrapServlet" },
        loadOnStartup = 1,
        initParams = {
                @WebInitParam(name = "swagger.api.basepath", value = "http://...:7001/.../resources"),
                @WebInitParam(name = "api.version", value = "1.0"),
                @WebInitParam(name = "swagger.api.title", value = "... REST API"),
                @WebInitParam(name = "swagger.pretty.print", value = "true")
        }
)
public class SwaggerBootstrapServlet extends DefaultJaxrsConfig {
}