首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WSO2 ESB上发布现有API

如何在WSO2 ESB上发布现有API
EN

Stack Overflow用户
提问于 2016-06-01 10:46:09
回答 2查看 738关注 0票数 0

我似乎找不到一篇关于如何通过restAPI ESB作为代理发布现有WSO2的简单文章。

我有一个现有的API,它根据标题上的内容类型使用Json或XML输出进行响应。我希望通过WSO2 ESB作为代理发布此api。我认为在这种情况下不需要WSO2应用程序服务器,因为rest运行在自己的应用服务器上。

API:http://somehost.com:8001/api/BusinessApi/GetContentTypes

响应:

代码语言:javascript
复制
[{"contentTypeID":1,"name":"Movies","isTop":true,"subLevels":1,"contentTypeIdBase":1},{"contentTypeID":2,"name":"TV Show","isTop":true,"subLevels":3,"contentTypeIdBase":4},{"contentTypeID":3,"name":"TV Season","isTop":false,"subLevels":2,"contentTypeIdBase":4},{"contentTypeID":4,"name":"TV Episode","isTop":false,"subLevels":1,"contentTypeIdBase":4},{"contentTypeID":5,"name":"Music Album","isTop":true,"subLevels":2,"contentTypeIdBase":6},{"contentTypeID":6,"name":"Music Track","isTop":false,"subLevels":1,"contentTypeIdBase":6},{"contentTypeID":7,"name":"Music Video","isTop":false,"subLevels":1,"contentTypeIdBase":7},{"contentTypeID":8,"name":"Book Set","isTop":false,"subLevels":1,"contentTypeIdBase":8},{"contentTypeID":9,"name":"Books","isTop":true,"subLevels":1,"contentTypeIdBase":9}]

目标是通过WSO2 ESB发布api,并尝试实现以下操作:

  1. 记录API调用
  2. 基于条件的消息传递/分叉调用
  3. 集中所有API调用身份验证模型
  4. 可以只运行ESB服务器来实现此功能吗?

提前谢谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-01 11:01:02

设置代理API,只能通过

  1. 在main->service-bus-> API下添加API选项
  2. 给API一个自定义名称,它是WSO2 ESB上的标识。
  3. 给出上下文,这是您的自定义资源。
  4. 转到源视图并添加下面的源代码

片段的开始

代码语言:javascript
复制
<api xmlns="http://ws.apache.org/ns/synapse" name="GetC" context="/api1">
   <resource methods="GET" url-mapping="/">
      <inSequence>
         <log/>
         <send>
            <endpoint>
               <address uri="http://somehost.com:8001/api/businessApi/GetContentTypes"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log/>
         <send/>
      </outSequence>
   </resource>
</api>

片段结束

现在您应该通过ESB代理url访问api。

票数 1
EN

Stack Overflow用户

发布于 2016-06-03 14:26:15

使用您的方法,您已经在ESB中创建了一个api,它将请求传递给后端api。在此期间,您还希望记录每个api调用和控制身份验证。我不明白叉子的要求。

你试过WSO2 API管理器了吗?它将允许您使您的api成为托管api。也就是说,您将能够通过oauth令牌控制对api的访问。您也可以记录api调用(尽管由于性能原因,记录每个调用并不是件好事)。

如果您将其与WSO2 DAS集成,您也将能够看到一些有用的统计数据。这是API管理器文档。

https://docs.wso2.com/display/AM1100/WSO2+API+Manager+Documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37566459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档