• 给RapiDoc添加多接口支持


    今天试了一下用RapiDoc替换项目中的SwaggerUI,发现它的现有接口中无法实现下拉式的接口切换,只能通过选择接口json文件的方式。翻看了一下它的接口文档,发现自己扩展一下还是比较简单的: 

    <!doctype html>
     <!-- Important: must specify -->
    <html>
    <head>
        <meta charset="utf-8"> <!-- Important: rapi-doc uses utf8 charecters -->
        <!--<script type="module" src="https://unpkg.com/rapidoc/dist/rapidoc-min.js"></script>-->
        <script type="module" src="/js/rapidoc-min.js"></script>
    </head>
    <body>
        <rapi-doc id="rapidoc" spec-url="/swagger/v1/swagger.json" allow-server-selection="false"
                  heading-text="12345" schema-style="table" show-header="false" show-info="false">
            <header>
                <div class="root">
                    <div class="header">TianFang Open API</div>
                    <select name="" id="apis" class="list">
                        <option class="opt" value="/swagger/v1/swagger.json">/swagger/v1/swagger.json</option>
                        <option class="opt" value="/v3/api3-docs">/v3/api3-docs</option>
                    </select>
                </div>
    
            </header>
        </rapi-doc>
        <script>
            const selector = document.getElementById('apis');
            selector.onchange = function (e) {
                const value = e.target.value;
                const docEl = document.getElementById('rapidoc');
                docEl.loadSpec(value);
            }
        </script>
        <style>
            .root {
                padding: 8px 4px 8px 4px;
                color: var(--header-fg);
                background-color: var(--header-bg);
                display: flex;
                align-items:center;
                flex-direction: row;
            }
    
            .header {
                font-size: 20px;
                padding: 0px 8px;
            }
    
            .list {
                background: var(--header-color-darker);
                color: var(--header-fg);
                padding:4px;
                width:500px;
            }
    
        </style>
    </body>
    </html>

    简单来说,就是将RapiDoc的Head隐藏起来,自己注入了一个下拉框作为Head,下拉选项改变时,调用RapiDoc的接口切换接口。随手写的,没有美化,先凑活着用吧。说不定下个版本就有支持官方的切换接口的界面了。

  • 相关阅读:
    【C/C++】【类和对象】计算类所占的字节数
    【算法】【单调栈】单调栈
    【算法】【字符串】C语言常用库函数实现
    【算法】【字符串】Leetcode哈希表相关高频面试题
    ubuntu20.04安装测试uhttpd
    华为Mate14上安装Ubuntu20.04纪要
    shell判断参数值是否在数组内的方法
    降低PDF质量
    Ubuntu 16.04上安装Global阅读源代码工具
    Linux下好用的屏幕录像软件kazam及截图软件shutter
  • 原文地址:https://www.cnblogs.com/TianFang/p/14612825.html
Copyright © 2020-2023  润新知