angular 集成 swaggerui

效果预览图(这个是嵌入菜单里面的):

官方api: https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md

官方示例:https://github.com/swagger-api/swagger-ui/blob/master/dist/index.html

json文件: http://editor.swagger.io/#   

代码:                                                                                                                                                                                                       先引入:npm i swagger-ui  和  npm i swagger-ui-dist ---》支持swagger   |  npm i path --->打包需要,是absolutePath.js的依赖

       然后需要在文件里面配置相关css引用路径

TS:

const SwaggerUIBundle = require('swagger-ui-dist').SwaggerUIBundle;
const token = session.getItem('token');
const ui = SwaggerUIBundle({
    // url: 'swagger.json', 
    urls: [
        {url: 'swagger.json', name: 'test1'}
    ],
    dom_id: '#swaggerUI',
    supportedSubmitMethods: [], // 不可以 try it out
    deepLinking: false,   // 去掉深层链接,怎么try it out 都是一级路径
    validatorUrl: null,  // 去掉认证链接,也就是最下面会有一个绿色的图片的东东
    filter: true,   // 显示查询框框
    showRequestHeaders: true, 
    showMutatedRequest: true,  // 启用拦截器的返回
    // 请求拦截器
    requestInterceptor: (request) => {
        // 因为我的接口的host不对,所以需要在这里拦截请求,重新拼接请求路径
        const url = request.url; 
        if (!url.includes('swagger')) {
            const hostBefore = url.split('/');
            console.log(hostBefore ,  '拿到host并改变' );
            url_ = '新请求路径' ;
            request.url = url_;
        }
        request.headers.Authorization = token; // 请求头添加token
        return request;
    },
    responseInterceptor: (response) => {
        return response;
    },
    presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIStandalonePreset,
    ],
    plugins: [
        SwaggerUIBundle.plugins.DownloadUrl
    ],
    layout: 'StandaloneLayout',
});

HTML:

<div id="swaggerUI"></div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值