在 Linux 上“启动 Swagger 服务”通常有几种常见含义,下面按最常见场景逐一说明,你可以对照自己的情况选择。
docker run -p 8080:8080 -e SWAGGER_JSON=/swagger.json \
-v $(pwd):/usr/share/nginx/html \
swaggerapi/swagger-ui
访问:
http://localhost:8080
如果你已经有 swagger.json 或 openapi.yaml:
docker run -p 8080:8080 \
-e SWAGGER_JSON=/docs/openapi.yaml \
-v /path/to/docs:/usr/share/nginx/html \
swaggerapi/swagger-ui
git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
npm install
npm run dev
访问:
http://localhost:3200
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
java -jar your-app.jar
访问:
http://localhost:8080/swagger-ui/index.html
npm install swagger-ui-express swagger-jsdoc
const express = require('express');
const swaggerJsdoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');
const app = express();
const spec = swaggerJsdoc({
definition: {
openapi: '3.0.0',
info: { title: 'API', version: '1.0.0' }
},
apis: ['./index.js']
});
app.use('/docs', swaggerUi.serve, swaggerUi.setup(spec));
app.listen(3000);
访问:
http://localhost:3000/docs
docker run -p 8081:8080 swaggerapi/swagger-editor
访问:
http://localhost:8081
netstat -tunlp | grep 8080
kill -9 <pid>
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
| 需求 | 推荐方式 |
|---|---|
| 只看接口文档 | Docker Swagger UI |
| Spring Boot | springfox / springdoc |
| Node.js | swagger-ui-express |
| 编辑 OpenAPI | Swagger Editor |
如果你能告诉我:
我可以给你精确到命令级别的教程。