使用Mule ESB创建API

时间:2015-11-09 00:54:53

标签: api maven mule mule-studio

我必须使用Mule ESB创建一个提供相关信息的API。为此,我需要与其他API提供商(例如维基百科API)进行通信,以获取信息并制作JSON响应以返回所需信息。

PS:我使用maven来管理我的依赖项。

你有什么想法从何处开始或依赖/ Mule组件可以帮助?我会感恩的

2 个答案:

答案 0 :(得分:2)

使用APIkit创建自己的API。

然后要使用休息,您有两个选项,利用http connectorRAML定义(仅适用于要使用的api基于REST)或使用{{3}创建自己的连接器}。

答案 1 :(得分:0)

您可以使用Victor提供的选项。这里有一些官方文档:

Publishing and Consuming APIs with Mule

这些选项需要骡子的中级知识。别担心,如果你没有时间,你可以使用所有java框架与mule:

发布Basic Rest API(假设您不使用soap服务):

使用http-listener + rest component + java entity创建流程。

REST Component basic example

或者使用spring创建休息服务并将其部署在tomcat中,并将请求参数发送到某个jms队列。在mule中创建一个jms接收组件。这将从队列接收参数并将数据传递到下一个组件,以便创建json响应并返回到spring rest服务。

消耗休息服务

例如。你可以使用apache客户端创建一个maven项目作为要在java mule组件中使用或调用的库:

    public class MuleComponent {
            public Object executeRestClient(Object muleMessage){

              //based on apache client
              MyRestClientLibrary client = MyRestClientLibrary ();
              client.setUrl("http://wikipedia/rest/service/..");
              Object someParameters = muleMessage.getProperty("someParameter"....
              Object response = client.executeOperation01(someParameters); 
              return response;//data to be used by next component
            }
        }

任何需要使用维基百科服务数据的骡子流都可以使用此组件。

这可能是一个可能的解决方案:

<rest-inbound> -> 

[get request params] -> 
[consume-external-service(rest apache client)]->
[get data from DB or another source] -> 
[build json response] ->

<rest-outbound>

问候。