【问题标题】:Create API using Mule ESB使用 Mule ESB 创建 API
【发布时间】:2015-11-10 04:04:29
【问题描述】:

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

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

您对从哪里开始或可以提供帮助的依赖项/Mule 组件有任何想法吗?我会很感激的

【问题讨论】:

    标签: api maven mule mule-studio


    【解决方案1】:

    要创建您自己的 API,请从 APIkit 开始。

    然后,要使用 REST,您有两个选择,利用 http connectorRAML 定义(仅适用于要使用的 api 是基于 REST 的)或使用 devkit 创建自己的连接器。

    【讨论】:

    • 感谢您的回复,非常有帮助。
    【解决方案2】:

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

    Publishing and Consuming APIs with Mule

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

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

    使用 http-listener + rest 组件 + java 实体创建流。

    REST Component basic example

    或者使用spring创建一个rest服务并将其部署在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
                }
            }
    

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

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

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

    问候。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多