不使用Spring Boot实现的Apache Camel中的Swagger UI
创始人
2024-12-29 10:00:34
0

要在Apache Camel中使用Swagger UI而不使用Spring Boot,可以按照以下步骤进行操作:

步骤1:添加Swagger依赖

首先,您需要添加所需的Swagger依赖项。在您的pom.xml文件中,添加以下依赖项:


    org.apache.camel
    camel-swagger-java
    ${camel.version}



    org.apache.camel
    camel-swagger-java
    ${camel.version}

步骤2:配置Swagger

接下来,您需要配置Swagger。创建一个Java类来配置Swagger,例如SwaggerConfig.java

import org.apache.camel.component.swagger.DefaultCamelSwaggerServlet;
import org.apache.camel.component.swagger.ServletCamelSwaggerServlet;
import org.apache.camel.component.swagger.SwaggerComponent;
import org.apache.camel.component.swagger.SwaggerComponentServlet;
import org.apache.camel.component.swagger.SwaggerEndpointServlet;
import org.apache.camel.component.swagger.SwaggerRestApiContext;
import org.apache.camel.component.swagger.RestSwaggerReader;
import org.apache.camel.component.swagger.SwaggerReader;
import org.apache.camel.component.swagger.RestSwaggerReader;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class SwaggerConfig extends HttpServlet {

    private static final long serialVersionUID = 1L;

    private DefaultCamelSwaggerServlet servlet;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        servlet = new DefaultCamelSwaggerServlet();
        servlet.setSwaggerReader(new RestSwaggerReader());
        servlet.setCamelContextId("camelContext");
        servlet.init(config);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        servlet.doGet(req, resp);
    }
}

步骤3:配置Camel组件

在您的Camel路由中,添加以下配置来启用Swagger:

import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.servlet.CamelHttpTransportServlet;
import org.apache.camel.component.swagger.DefaultCamelSwaggerServlet;
import org.apache.camel.component.swagger.SwaggerComponent;
import org.apache.camel.component.swagger.SwaggerRestApiContext;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class CamelApplication {

    @Bean
    public ServletRegistrationBean servletRegistrationBean() {
        ServletRegistrationBean registration = new ServletRegistrationBean(new CamelHttpTransportServlet(), "/camel/*");
        registration.setName("CamelServlet");
        return registration;
    }

    @Bean
    public ServletRegistrationBean camelSwaggerServletRegistrationBean() {
        ServletRegistrationBean registration = new ServletRegistrationBean(new SwaggerConfig(), "/camel/api-docs");
        registration.setName("SwaggerServlet");
        return registration;
    }

    @Bean
    public SwaggerComponent swaggerComponent() {
        SwaggerComponent component = new SwaggerComponent();
        component.setBasePath("/camel");
        return component;
    }

    @Bean(name = "camelContext")
    public SwaggerRestApiContext camelContext() {
        SwaggerRestApiContext camelContext = new SwaggerRestApiContext();
        camelContext.setApiContextIdPattern("api-docs");
        camelContext.setBasePath("/camel");
        return camelContext;
    }

    public static void main(String[] args) {
        SpringApplication.run(CamelApplication.class, args);
    }
}

步骤4:启动Camel应用程序

现在,您可以启动您的Camel应用程序,并访问Swagger UI。Swagger UI将在http://localhost:8080/camel/api-docs上可用。

这样,您就可以在不使用Spring Boot的情况下在Apache Camel中使用Swagger UI了。

相关内容

热门资讯

透视总结!wpk免费辅助,wp... 透视总结!wpk免费辅助,wpk私人辅助,总结教程(其实有挂);暗藏猫腻,小编详细说明wpk私人辅助...
透视软件!wpk真吗,wpk软... 透视软件!wpk真吗,wpk软件是正规的吗,详细教程(切实真的是有挂)1、玩家可以在wpk软件是正规...
透视app!wpk俱乐部辅助器... 透视app!wpk俱乐部辅助器,wpk俱乐部有没有辅助,扑克教程(一直真的是有挂)1、wpk俱乐部有...
透视存在!如何判断wpk辅助软... 透视存在!如何判断wpk辅助软件的真假,wpk辅助是什么,玩家教程(其实是有挂)1.如何判断wpk辅...
透视透视!wpk透视是真的假的... 透视透视!wpk透视是真的假的,wpk真吗,总结教程(总是有挂)wpk透视是真的假的辅助器中分为三种...
透视计算!wpk辅助,wpk俱... 透视计算!wpk辅助,wpk俱乐部是真的吗,2025教程(原来真的是有挂)所有人都在同一条线上,像星...
透视存在!wpk软件是正规的吗... 透视存在!wpk软件是正规的吗,wpk模拟器,专业教程(都是真的是有挂);1、下载好wpk软件是正规...
透视辅助!wpk真吗,wpk插... 透视辅助!wpk真吗,wpk插件辅助,新2025教程(真是真的有挂)wpk插件辅助辅助器中分为三种模...
透视辅助!微扑克微乐辅助,wp... 透视辅助!微扑克微乐辅助,wpk辅助哪里买,2025新版教程(果然有挂);亲,关键说明,微扑克微乐辅...
透视安卓版!有哪些免费的wpk... 透视安卓版!有哪些免费的wpk作弊码,微扑克微乐辅助,高科技教程(好像有挂)1、有哪些免费的wpk作...