温馨提示×

Swagger在CentOS上的安装与调试技巧有哪些

小樊
87
2025-02-09 07:27:37
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上安装和调试Swagger(现称为OpenAPI)主要涉及Java运行环境(JRE或JDK)的安装、Maven的配置、Swagger Core和Swagger UI的构建与部署。以下是详细的步骤和技巧:

安装Java环境

Swagger需要Java运行环境(JRE)或Java开发工具包(JDK)。你可以通过以下命令安装OpenJDK:

sudo apt update
sudo apt install openjdk-11-jdk

验证安装:

java -version

安装Maven

Swagger使用Maven进行构建和依赖管理。你可以通过以下命令安装Maven:

sudo apt install maven

验证安装:

mvn -version

克隆Swagger项目

你可以从Swagger的官方GitHub仓库克隆Swagger Core和Swagger UI项目:

git clone https://github.com/swagger-api/swagger-core.git
cd swagger-core
mvn clean install
git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
mvn clean install

配置Swagger UI

  1. 构建Swagger UI

    cd swagger-ui
    mvn clean install
    
  2. 部署Swagger UI

    将构建好的Swagger UI文件复制到你的Web服务器目录中,例如 /var/www/html。你可以使用以下命令将文件复制到该目录:

    sudo cp -r target/swagger-ui-dist/* /var/www/html/
    
  3. 配置Web服务器

    • 如果你使用的是Apache

      创建一个虚拟主机配置文件,例如 /etc/apache2/sites-available/swagger.conf

      <VirtualHost *:80>
          ServerName localhost
          DocumentRoot /var/www/html
          <Directory /var/www/html>
              Options Indexes FollowSymLinks AllowOverride All Require all granted
          </Directory>
      </VirtualHost>
      

      然后启用该虚拟主机:

      sudo a2ensite swagger.conf
      sudo systemctl reload apache2
      
    • 如果你使用的是Nginx

      创建一个服务器块配置文件,例如 /etc/nginx/sites-available/swagger

      server {
          listen 80;
          server_name localhost;
          root /var/www/html;
          index index.html;
          location / {
              try_files $uri $uri/ /index.html;
          }
      }
      

      然后启用该服务器块:

      sudo ln -s /etc/nginx/sites-available/swagger /etc/nginx/sites-enabled/
      sudo nginx -t
      sudo systemctl reload nginx
      
  4. 访问Swagger UI

    打开浏览器,访问 http://localhost,你应该能够看到Swagger UI的欢迎页面。

调试技巧

  • 接口版本控制:使用[ApiVersion]特性区分不同版本的API响应。

  • 添加返回示例:通过[SwaggerResponse]添加返回示例。

  • 请求示例:用[SwaggerRequestExample]展示请求参数示例。

  • 中文乱码:设置XML文档编码:

    services.AddSwaggerGen(c => {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "我的API", Version = "v1" });
        // 设置xml文档编码
        c.DocumentFilter<SwaggerDocumentFilter>();
    });
    
  • 隐藏某些接口:使用[ApiExplorerSettings(IgnoreApi = true)]

通过以上步骤和技巧,你可以在CentOS上成功安装和调试Swagger,从而为你的API生成详细的文档并进行在线测试。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:GCC在CentOS上的安装与调试技巧有哪些

0