117.info
人生若只如初见

Swagger在Linux环境下如何配置使用

在Linux环境下配置和使用Swagger主要分为以下几个步骤:

1. 安装Node.js和npm

首先,需要在Linux服务器上安装Node.js和npm。可以通过以下命令进行安装:

# 下载Node.js
wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz

# 解压文件
tar -xf node-v14.17.0-linux-x64.tar.xz

# 移动解压后的文件到/usr/local目录
sudo mv node-v14.17.0-linux-x64 /usr/local/node

# 设置Node.js和npm的全局路径
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 验证安装
node -v
npm -v

2. 安装Express和其他必要的模块

接下来,安装Express框架以及几个必要的中间件模块:

# 全局安装Express生成器
npm install -g express-generator

# 安装body-parser、cookie-parser和multer
npm install body-parser cookie-parser multer --save

3. 创建并启动Express应用

创建一个新的Express应用,并设置Swagger UI的路由:

# 创建一个新的Express应用
express my-app
cd my-app

# 安装Swagger相关依赖
npm install swagger-jsdoc swagger-ui-express --save

# 编辑app.js文件,配置Swagger
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');

const options = {
  definition: {
    openapi: '3.0.0',
    info: {
      title: 'My API',
      version: '1.0.0',
    },
  },
  apis: ['./routes/*.js'], // 指定Swagger文档的路径
};

const specs = swaggerJsDoc(options);

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(specs));

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

4. 集成Swagger到Spring Boot项目(如果使用Spring Boot)

如果是在Spring Boot项目中使用Swagger,可以按照以下步骤进行配置:

添加依赖

pom.xml中添加以下依赖:


  io.springfox
  springfox-swagger2
  2.9.2


  io.springfox
  springfox-swagger-ui
  2.9.2

配置Swagger

创建一个配置类来启用Swagger:

import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

访问Swagger UI

启动Spring Boot应用后,访问http://localhost:8080/swagger-ui.html,即可看到Swagger UI界面,其中展示了项目中定义的所有API接口及其详细信息。

5. 使用Swagger Editor

Swagger Editor是一个在线的Swagger文档编辑器,可以用于编辑和验证Swagger规范文件(OpenAPI规范)。可以通过以下步骤在Linux上安装和使用Swagger Editor:

下载并解压Swagger Editor

# 下载Swagger Editor
wget https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.50.0/swagger-editor.min.js
wget https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.50.0/swagger-editor.min.css

# 创建一个简单的HTML文件来加载Swagger Editor
sudo nano /var/www/html/swagger-editor.html

swagger-editor.html文件中添加以下内容:




  


  

启动Web服务器

可以使用Apache或Nginx作为Web服务器来提供Swagger Editor:

Apache:

sudo a2ensite default.conf
sudo systemctl restart apache2

Nginx:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.backup
sudo nano /etc/nginx/sites-available/default

修改server块中的rootindex指令:

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  root /var/www/html;
  index index.html index.htm;
  server_name _;

  location / {
    try_files $uri $uri/ =404;
  }
}

保存并退出编辑器,然后重启Nginx:

sudo systemctl restart nginx

现在,可以通过浏览器访问http://your_server_ip/swagger-editor来使用Swagger Editor。

以上步骤涵盖了在Linux环境下配置和使用Swagger的基本流程,具体配置可能会因项目需求和环境差异而有所不同。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fec2eAzsNAgBSDFc.html

推荐文章

  • minio如何进行集群部署

    MinIO是一个高性能的对象存储系统,专为云原生和容器化环境而设计。它使用分布式架构来存储和管理大规模的非结构化数据,例如图片、视频、日志文件等。MinIO基于...

  • Linux Node.js日志分析工具有哪些

    在Linux环境下,Node.js的日志分析工具有很多,以下是一些常用的工具: Winston:一个灵活的日志库,支持多种传输方式(文件、控制台、HTTP等)和日志级别(info...

  • 如何在Linux上迁移Informix数据库

    在Linux上迁移Informix数据库是一个复杂的过程,涉及多个步骤和工具。以下是一个基本的迁移指南,帮助你顺利完成迁移。
    迁移步骤 环境准备: 了解源Informi...

  • Swagger如何在Linux服务器上进行部署

    在Linux服务器上部署Swagger主要分为几个步骤,包括安装必要的软件、下载Swagger UI和Swagger Editor、配置Web服务器以及启动服务。以下是详细的步骤指南:

  • centos ulimit配置方法

    在CentOS系统中,ulimit命令用于设置或获取用户进程的资源限制。以下是配置ulimit的方法:
    临时配置 查看当前限制:
    ulimit -a 设置单个资源限制: 设...

  • Debian挂载SSD硬盘有哪些注意事项

    在Debian系统中挂载SSD硬盘时,有几个重要的注意事项需要考虑: 使用TRIM命令: TRIM命令可以通知SSD哪些区域的数据不再使用,以便擦除它们,从而加快SSD的写入速...

  • CentOS如何更新gcc到最新版

    在CentOS系统中更新GCC(GNU编译器集合)到最新版本,可以按照以下步骤进行:
    方法一:使用SCL(Software Collections) 安装SCL仓库:
    sudo yum inst...

  • Linux Telnet命令有哪些常用选项

    Linux中的Telnet命令是一个用于远程登录到其他计算机系统的工具。以下是一些常用的Telnet命令选项:
    基本用法 telnet [选项] [主机名/IP地址] 例如:telnet...