Lightning組件與後臺交互時接口參數統一

Lightning組件與後臺交互時接口參數統一

剛開始在作Lightning項目時,當前臺與Apex交互時,都是把參數寫明,前臺有幾個參數須要傳遞,後臺方法就有幾個參數,可是項目中,不可避免的出現,加加減減參數就須要反覆修改方法的簽名,一樣該方式對作接口同樣,Lightning與後臺交互原本就是經過接口.編程

在上個項目中,後臺響應作了包裝給前臺,如今前臺將參數封裝給後臺,方式都同樣,這都是JSON的功勞.網絡

JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用徹底獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提高網絡傳輸效率。(來源百度百科) 正因徹底獨立於編程語言,因此當不一樣程序寫的系統,當須要交換數據等操做時,大多使用JSON做爲媒介(還有就是XML).編程語言

定義後臺響應包裝類

該類很簡單一個是狀態,一個是提示消息,另外一個是存放響應的數據,後臺在返回時直接實例給值,以下對象

JS端以下,格式固定,第一個IF判斷是否爲SUCCESS是Lightning處理的結果,好比接口不通,後臺有Apex拋出異常,須要在這裏處理異常,第二處IF判斷是否爲ERROR是咱們自已定義,好比,某個值不能爲空,OR是值不符合業務要求,須要提示用戶接口

請求參數封裝

Lightning JS爲弱語言,因此構建參數比效方便,直接定義一個JSON對象,若是JSON是對應的是一個對象,須要將對象先轉成String,若是不轉直接定義報解析錯誤,緣由是key的雙引號被去掉了(不清楚)ip

後臺直接反序列化,強轉成Map結構,而後再使用(Apex序列化時不要用錯了,不然會報不支持Object) io

若是你有更好的方法歡迎留言.效率

相關文章
相關標籤/搜索