Teiid 生成的 Swagger Json 文件已损坏

Teiid generated Swagger Json file is corrupted

我已经在域模式下的 teiid 主从设置上部署了多个 VDB。例如,AirFlights-vdb.xml、Customer-vdb.xml ...等部署了几个程序,这些程序在每个 VDBs.I 中作为 REST APIs 公开 IP:8080 ]/AirFlights_1/api 喜欢 URL 以访问特定 VDB 的 swagger 文档。当部署了多个 VDB 时,swagger 文档会损坏。例如,当我执行 IP:8080/AirFlights_1/api 时,它会列出与 Customer-vdb.xml 和其他部署的 VDB 相关的 API 资源。你能帮我解决生成的 swagger 文件的这种混乱性质吗?

我使用 http://teiid.org/rest}auto-generate" value="true"/> 属性 来生成 War 个文件。

示例 vdb 如下所示

?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vdb name="sample" version="1">
    <property name="UseConnectorMetadata" value="true" />
    <property name="{http://teiid.org/rest}auto-generate" value="true"/>

    <model name="PM1">
        <source name="text-connector" translator-name="loopback" />
         <metadata type="DDL"><![CDATA[
                CREATE FOREIGN TABLE G1 (e1 string, e2 integer);
                CREATE FOREIGN TABLE G2 (e1 string, e2 integer);
        ]]> </metadata>
    </model>
    <model name="View" type ="VIRTUAL">
         <metadata type="DDL"><![CDATA[
            SET NAMESPACE 'http://teiid.org/rest' AS REST;
            CREATE VIRTUAL PROCEDURE g1Table(IN p1 integer) RETURNS TABLE (xml_out xml) OPTIONS (UPDATECOUNT 0, "REST:METHOD" 'GET', "REST:URI" 'g1/{p1}')
            AS
            BEGIN
                SELECT XMLELEMENT(NAME "rows", XMLATTRIBUTES (g1Table.p1 as p1), XMLAGG(XMLELEMENT(NAME "row", XMLFOREST(e1, e2)))) AS xml_out FROM PM1.G1;
            END
            ]]> </metadata>
    </model>

</vdb>

这看起来确实像一个错误。我能够重现并将其捕获为 https://issues.jboss.org/browse/TEIID-5173