我似乎找不到一篇关于如何通过restAPI ESB作为代理发布现有WSO2的简单文章。
我有一个现有的API,它根据标题上的内容类型使用Json或XML输出进行响应。我希望通过WSO2 ESB作为代理发布此api。我认为在这种情况下不需要WSO2应用程序服务器,因为rest运行在自己的应用服务器上。
API:http://somehost.com:8001/api/BusinessApi/GetContentTypes
响应:
[{"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,并尝试实现以下操作:
提前谢谢!!
发布于 2016-06-01 11:01:02
设置代理API,只能通过
片段的开始
<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。
发布于 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
https://stackoverflow.com/questions/37566459
复制相似问题