温馨提示×

centos swagger怎么用

小樊
39
2026-10-06 04:26:36
栏目: 智能运维

在 CentOS 上使用 Swagger,通常分两种场景:

  1. Swagger UI:查看/调试已有接口的 Web 页面
  2. Swagger 注解 + 代码生成:在 Java/Go 等项目中自动生成接口文档

下面以 最常见场景(CentOS 服务器上部署 Swagger UI / Spring Boot 项目集成 Swagger) 为例说明。


一、CentOS 上直接使用 Swagger UI(最通用)

1. 安装基础环境

sudo yum install -y epel-release
sudo yum install -y nginx wget unzip

2. 下载 Swagger UI

cd /usr/share/nginx/html
sudo wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v5.17.14.zip
sudo unzip v5.17.14.zip
sudo mv swagger-ui-5.17.14 swagger

3. 配置 Swagger UI

编辑:

sudo vi swagger/dist/index.html

修改:

url: "https://petstore.swagger.io/v2/swagger.json"

改成你自己的:

url: "http://你的服务器IP/swagger/swagger.json"

把你的 swagger.json 放到:

/usr/share/nginx/html/swagger/swagger.json

4. 启动 Nginx

sudo systemctl start nginx
sudo systemctl enable nginx

访问:

http://服务器IP/swagger/dist/

二、Spring Boot 项目在 CentOS 上使用 Swagger

1. 添加依赖(Springfox)

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

2. 启用 Swagger

@SpringBootApplication
@EnableOpenApi
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3. 接口示例

@Api(tags = "用户接口")
@RestController
@RequestMapping("/user")
public class UserController {

    @ApiOperation("获取用户")
    @GetMapping("/{id}")
    public String getUser(@PathVariable Long id) {
        return "user:" + id;
    }
}

4. 打包并部署到 CentOS

mvn package
scp target/app.jar root@centos_ip:/opt/
java -jar /opt/app.jar

访问:

http://服务器IP:8080/swagger-ui/index.html

三、常见问题

✅ 防火墙

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

✅ Spring Boot 404

  • 确认端口
  • 确认 springfox 版本
  • Spring Boot 3 用 springdoc-openapi

四、如果你用的是 Spring Boot 3

用 springdoc:

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
  <version>2.3.0</version>
</dependency>

访问:

/swagger-ui.html

如果你能告诉我:

  • 用的是 Java / Go / Python
  • 是 看文档 还是 写接口
  • CentOS 版本

我可以给你更精确的教程。

0 踩