在 CentOS 上把 Swagger 集成到项目,本质上和你用什么操作系统关系不大,关键看你用的是哪种后端语言/框架。下面我按常见场景给你分别说明,并附带在 CentOS 上的部署注意事项。
<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>
新项目推荐用 springdoc-openapi
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.7.0</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
}
或使用 springdoc:
@OpenAPIDefinition
public class OpenApiConfig {}
http://服务器IP:端口/swagger-ui.html
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
npm install swagger-ui-express yamljs
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const swaggerDocument = YAML.load('./swagger.yaml');
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
http://IP:3000/api-docs
npm install -g pm2
pm2 start app.js
pip install flask-restx
from flask_restx import Api
api = Api(app)
访问:
/swagger-ui
pip install fastapi uvicorn
自动集成:
http://IP:8000/docs
location /swagger-ui.html {
proxy_pass http://127.0.0.1:8080;
}
spring.profiles.active=prod)我可以直接给你一套 可复制的 CentOS 部署方案。