在Linux环境下,可以通过以下步骤使用Swagger实现API文档共享:
安装Node.js和npm:
首先,需要在Linux系统上安装Node.js和npm。可以通过以下命令进行安装:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
安装Swagger Editor和Swagger UI:
下载并解压Swagger Editor和Swagger UI:
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.50.0.tar.gz
tar -xvf swagger-editor-3.50.0.tar.gz
cd swagger-editor-3.50.0
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.50.0.tar.gz
tar -xvf swagger-ui-3.50.0.tar.gz
cd swagger-ui-3.50.0
启动Swagger Editor和Swagger UI:
npm install -g http-server
http-server -p 8080 # 启动Swagger Editor
http-server -p 8081 # 启动Swagger UI
现在,可以通过浏览器访问 http://your_server_ip:8080
来使用Swagger Editor,访问 http://your_server_ip:8081
来使用Swagger UI。
集成Swagger到Spring Boot项目(可选):
如果你使用的是Spring Boot项目,可以集成Swagger来自动生成API文档。添加相关依赖并配置Swagger:
<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配置类:
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.any())
.paths(PathSelectors.any())
.build();
}
}
启动应用程序后,访问 http://localhost:8080/swagger-ui.html
查看Swagger UI。
远程访问Swagger Editor(可选):
可以使用Docker和Cpolar来实现Swagger Editor的远程访问:
部署Swagger Editor Docker:
docker pull swaggerapi/swagger-editor
docker run -p 8088:8080 -d swaggerapi/swagger-editor
使用Cpolar实现远程访问:
安装Cpolar并配置内网穿透,在Swagger Editor容器中配置公网地址,使用Cpolar生成的公网地址进行远程访问。
通过以上步骤,你可以在Linux系统中成功部署和使用Swagger进行API文档共享。