部署swagger接口文档到云服务器
一、前置知识
1、本管理系统是若依分离版。
2、服务器使用的是腾讯云服务器。
3、使用连接工具使用Mobax
二、获取管理系统的sagger的json文件
1、后台swgger配置
这是若依的swagger的部分配置文件,注意若依默认是注释掉这行代码的,去除代码注释,并配置扫描包路径。
.apis(RequestHandlerSelectors.basePackage("com.ruoyi"))
@Configuration
public class SwaggerConfig
{/** 系统基础配置 */@Autowiredprivate RuoYiConfig ruoyiConfig;/** 是否开启swagger */@Value("${swagger.enabled}")private boolean enabled;/** 设置请求的统一前缀 */@Value("${swagger.pathMapping}")private String pathMapping;/*** 创建API*/@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.OAS_30)// 是否启用Swagger.enable(enabled)// 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息).apiInfo(apiInfo())// 设置哪些接口暴露给Swagger展示.select()// 扫描所有有注解的api,用这种方式更灵活.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))// 扫描指定包中的swagger注解.apis(RequestHandlerSelectors.basePackage("com.ruoyi"))// 扫描所有 .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build()/* 设置安全模式,swagger可以设置访问token */.securitySchemes(securitySchemes()).securityContexts(securityContexts()).pathMapping(pathMapping);}
}
2、访问swgger页面下载json文件
1、单独访问swgger:路径地址可以查看相关配置
2、可以打开若依的管理系统界面中的系统工具 -> 系统接口也是可以的。
3、下载json文件
三、下载swagger-ui
1、 mobax - 下载命令,也可以直接点击网址下载
wget https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip
2、mobax - 解压 下载的压缩包
unzip swagger-ui-master.zip
3、mobax - 解压后的界面
4、进入解压后的文件swagger-ui-master
[root@VM-12-13-opencloudos home]# ls
dist elasticsearch lighthouse nohup.out redis ruoyi ruoyi-admin.jar swagger-ui-master swagger-ui-master.zip www
[root@VM-12-13-opencloudos home]# cd swagger-ui-master/
5、进入dist文件夹
[root@VM-12-13-opencloudos swagger-ui-master]# cd dist/
[root@VM-12-13-opencloudos dist]# ls
api-docs.json index.css swagger-initializer.js swagger-ui.css swagger-ui-es-bundle-core.js.map swagger-ui.js swagger-ui-standalone-preset.js.map
favicon-16x16.png index.html swagger-ui-bundle.js swagger-ui.css.map swagger-ui-es-bundle.js swagger-ui.js.map
favicon-32x32.png oauth2-redirect.html swagger-ui-bundle.js.map swagger-ui-es-bundle-core.js swagger-ui-es-bundle.js.map swagger-ui-standalone-preset.js
6、复制swagger的json文件与dist的index.html同级,api-docs.json是我的swagger.json文件
[root@VM-12-13-opencloudos dist]# ls
api-docs.json index.css swagger-initializer.js swagger-ui.css swagger-ui-es-bundle-core.js.map swagger-ui.js swagger-ui-standalone-preset.js.map
favicon-16x16.png index.html swagger-ui-bundle.js swagger-ui.css.map swagger-ui-es-bundle.js swagger-ui.js.map
favicon-32x32.png oauth2-redirect.html swagger-ui-bundle.js.map swagger-ui-es-bundle-core.js swagger-ui-es-bundle.js.map swagger-ui-standalone-preset.js
7、编辑swagger-initializer.js文件,更新为swagger.josn文件的路径地址。只需更新url的地址为swagger.json文件的地址即可
[root@VM-12-13-opencloudos dist]# vim swagger-initializer.js# 文件内容
window.onload = function() {//<editor-fold desc="Changeable Configuration Block">// the following lines will be replaced by docker/configurator, when it runs in a docker-containerwindow.ui = SwaggerUIBundle({url: "./api-docs.json",dom_id: '#swagger-ui',deepLinking: true,presets: [SwaggerUIBundle.presets.apis,SwaggerUIStandalonePreset],plugins: [SwaggerUIBundle.plugins.DownloadUrl],layout: "StandaloneLayout"});//</editor-fold>
};
四、云服务器使用nginx代理页面
1、我的云服务器使用宝塔界面
2、配置nginx的配置文件
2.1、nginx配置文件
2.2、更新配置文件为如下配置
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;#用于tomcat反向代理,解决nginx504错误proxy_connect_timeout 7200;#单位秒proxy_send_timeout 7200;#单位科proxy_read_timeout 7200;#单位秒proxy_buffer_size 16k;proxy_buffers 4 64k;proxy_busy_buffers_size 128k;proxy_temp_file_write_size 128k;# ps:以timeout结尾配置项时间要配置大点server {listen 8080;server_name localhost;# /home/swagger-ui-master/dist; swagger-ui的dist文件的地址location / {root /home/swagger-ui-master/dist; try_files $uri $uri/ /index.html;index index.html index.html;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
3.修改完成记得保存并重载配置
五、访问swagger页面
地址: http://43.178.187.234:8080
地址组成:43.178.187.234 - 是我的服务器IP地址,更换为你的。8080 - nginx里面配置端口号。
成功界面