【问题标题】:Is it possible to add a REST API created on EI to APIM?是否可以将在 EI 上创建的 REST API 添加到 APIM?
【发布时间】:2022-11-17 18:25:47
【问题描述】:

我在 Enterprise Integrator 上创建了一个 REST API,我需要将它放在 API Manager 上以便从我的 C# 应用程序中使用它。甚至从集成工作室到 API 管理器。

我的 API 是一个重定向 API,它在使用 dblookup 调解器搜索 microsoft sql db 以检查数据是否存在后进行重定向,然后基于此进行重定向。 这是我的 REST API:

<api xmlns="http://ws.apache.org/ns/synapse" name="DBLookupAPI" context="/dblookup">
   <resource methods="GET" uri-template="/{UserCode}">
      <inSequence>
         <log level="custom">
            <property name="Value" expression="get-property('uri.var.UserCode')"/>
         </log>
         <dblookup>
            <connection>
               <pool>
                  <driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
                  <url>jdbc:sqlserver://10.1.1.111\test;databaseName=UserDB</url>
                  <user>admin</user>
                  <password>admin</password>
               </pool>
            </connection>
            <statement>
               <sql>select UserCode from UserDB.dbo.Users where UserCode =?;</sql>
               <parameter expression="get-property('uri.var.UserCode ')" type="CHAR"/>
               <result name="foundnr" column="UserCode "/>
            </statement>
         </dblookup>
         <log level="custom">
            <property name="Value" expression="get-property('foundnr')"/>
         </log>
         <filter source="boolean(get-property('foundnr'))" regex="true">
            <then>
               <log>
                  <property name="Message" value="Name Exists Lets redirect"/>
               </log>
               <property name="HTTP_SC" value="302"/>
               <property name="Location" expression="get-property('env', 'Redirect')" scope="transport"/>
            </then>
            <else>
               <log>
                  <property name="Message" value="Name Does Not Exist Lets redirect"/>
               </log>
               <property name="HTTP_SC" value="302"/>
               <property name="Location" expression="get-property('env', 'Redirect2')" scope="transport"/>
            </else>
         </filter>
         <respond/>
      </inSequence>
      <outSequence/>
      <faultSequence/>
   </resource>
</api> 
                    

【问题讨论】:

    标签: wso2 wso2-api-manager wso2-enterprise-integrator


    【解决方案1】:

    没有与 EI 和 APIM 的直接集成。但是您可以使用 OpenAPI 定义和其他数据在 API Manager 中手动创建 API。

    当谈到 APIM v4.x 和 MI 4.x 时,有一个称为服务目录的功能。使用此服务目录功能,您可以集成这两种产品。当您在 MI 中创建和部署 API 时,它会自动注册到 APIM。从那里您可以继续在 API 管理器中管理 API。

    您可以在此处阅读有关该功能的更多信息 - https://apim.docs.wso2.com/en/latest/integrate/develop/working-with-service-catalog/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 2018-06-13
      • 1970-01-01
      • 2020-02-04
      • 2021-10-31
      • 2017-12-25
      相关资源
      最近更新 更多