我必须使用Mule ESB创建一个提供相关信息的API。为此,我需要与其他API提供商(例如维基百科API)进行通信,以获取信息并制作JSON响应以返回所需信息。
PS:我使用maven来管理我的依赖项。
你有什么想法从何处开始或依赖/ Mule组件可以帮助?我会感恩的
答案 0 :(得分:2)
使用APIkit创建自己的API。
然后要使用休息,您有两个选项,利用http connector和RAML定义(仅适用于要使用的api基于REST)或使用{{3}创建自己的连接器}。
答案 1 :(得分:0)
您可以使用Victor提供的选项。这里有一些官方文档:
Publishing and Consuming APIs with Mule
这些选项需要骡子的中级知识。别担心,如果你没有时间,你可以使用所有java框架与mule:
发布Basic Rest API(假设您不使用soap服务):
使用http-listener + rest component + java entity创建流程。
或者使用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>
问候。