温馨提示×

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

小樊
46
2025-03-05 23:30:22
栏目: 智能运维
Linux服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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中添加以下依赖:

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>

配置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文件中添加以下内容:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" type="text/css" href="swagger-editor.min.css">
</head>
<body>
  <div id="swagger-editor"></div>
  <script src="swagger-editor.min.js"></script>
  <script>
    window.onload = function() {
      const editor = SwaggerEditor({
        url: "https://petstore.swagger.io/v2/swagger.json",
        dom_id: '#swagger-editor'
      });
    };
  </script>
</body>
</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的基本流程,具体配置可能会因项目需求和环境差异而有所不同。

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

推荐阅读:Swagger在Linux环境下如何配置与使用

0