MuleSoft系列(二)- 使用Flow Designer創建Mule應用程序


在MuleSoft中,創建Application的方式有三種

  • Flow Designer:用於構建連接系統並使用API的集成應用程序的Web應用程序
  • API Designer:用於設計,記錄和模擬API的Web應用
  • Anypoint Studio:桌面IDE,用於實現API和構建集成應用程序

那么來看看如何使用Flow Designer創建Mule應用程序

在Anypoint Platform中,進入Design Center,點擊Create New,在彈出框中選擇 Create New Application,輸入名稱:TestFlow

 在隨后出現的畫布上,選擇HTTP  Connector, 在下一步Target選擇 Training - American Flights API, Operation選擇:Get Flights

Tips:Training - American Flights API 是MuleSoft提供的供開發者學習的一個接口,你可以在App Exchange中找到這個接口的詳細內容,

在出現的接口中輸入訪問地址:flights,然后關閉選項卡,可以看到現在的畫布上有這樣幾個模塊

 

點擊第三個組件American Flights API Configuration,對Training - American Flights這個接口的信息進行配置

  • Client_Id:d1374b15c6864c3682ddbed2a247a826
  • Client_Secret:4a87fe7e2e43488c927372AEF981F066
  • Host: training4-american-api.cloudhub.io
  • Port: 80
  • Base Path:/
  • Protocol:HTTP

 

配置完成后,關閉頁簽,然后點擊右上角 TEST 按鈕,這里就會相當於啟動接口,生成了一個可以訪問的URL

現在回到Advanced REST Client (Get請求也可以直接通過瀏覽器地址欄訪問),將剛剛的URL復制上去,同時在最后拼上我們之前設置的訪問地址:/flights

 可以看到接口返回了200狀態碼以及一些測試數據

接下來回到MuleSoft Design Center,打開 American Flights API卡片,其中Input/output中可以切換Attribute和Payload,查看接口的輸入輸出信息

 

  點開右下角的Log面板,可以看到接口請求的詳細日志信息

 這時候,我們可以切換到Runtime Manager, 查看接口的執行情況

點接口進去查看詳細信息,包括接口日志,看板,設置等等信息都在Runtime manage中可以查看到奧

回到Design Center,我們點擊 ➕ 再添加一個卡片,選擇 Transform, 點擊創建一個新的Data Type

 輸入 Data Type名稱為:NewFlights,類型選擇JSON,寫入JSON Example如下,點擊保存

[
    {
      "airline": "United",
      "flightCode": "ER38sd",
      "fromAirportCode": "LAX",
      "toAirportCode": "SFO",
      "departureDate": "May 21, 2016",
      "emptySeats": 0,
      "totalSeats": 200,
      "price": 199,
      "planeType": "Boeing 737"
    },
    {
      "airline": "Delta",
      "flightCode": "ER0945",
      "fromAirportCode": "PDX",
      "toAirportCode": "CLE",
      "departureDate": "June 1, 2016",
      "emptySeats": 24,
      "totalSeats": 350,
      "price": 450,
      "planeType": "Boeing 747"
    }
]

搞定這一步之后,完成對數據字段的映射,直接拖動字段建立映射關系

Input OutPut Payload
price   price
departureDate departureDate
plan - totalSeats totalSeats
emptySeats emptySeats
plan - type planeType
code  flightCode
origin fromAirportCode
destination toAirportCode

 

 

 

 

 

 

然后對沒有映射關系的airline點擊Set Expression, 輸入 “american” ,完成后點擊底部的Script頁簽,可以查看轉換的DataWeave表達式

這時候看到右側的Preview顯示為null, 所以我們點擊Sample data頁簽,寫入JSON樣例數據

[{
    "ID": 1,
    "code": "ER38sd",
    "price": 400.00,
    "departureDate": "2016/03/20",
    "origin": "MUA",
    "destination": "SFO",
    "emptySeats": 0,
    "plane": {
        "type": "Boeing 737",
        "totalSeats": 150
    }
}, {
    "ID": 2,
    "code": "ER45if",
    "price": 345.99,
    "departureDate": "2016/02/11",
    "origin": "MUA",
    "destination": "LAX",
    "emptySeats": 52,
    "plane": {
        "type": "Boeing 777",
        "totalSeats": 300
    }
}]

 完成這些之后,重新點擊TEST按鈕,再通過接口測試客戶端發送請求,對比加上Transform之后的效果,就可以看到,接口返回的數據格式已經不一樣了,而這也就是為什么MuleSoft可以支持同一個接口的數據可以應用到不同系統的原因,通過Transform對數據格式在MuleSoft中進行轉換

以上的對MuleSoft平台的一個簡單探索,了解了在Anypoint平台上應該如何應用Design Center去設計一個應用程序,同時學會查看日志,使用Runtime Manager,要理解Transform在數據格式轉換上的作用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM