Lightning组件与后台交互时接口参数统一

坚强是说给别人听的谎言 提交于 2020-02-29 17:51:24

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的双引号被去掉了(不清楚)

后台直接反序列化,强转成Map结构,然后再使用(Apex序列化时不要用错了,否则会报不支持Object)

如果你有更好的方法欢迎留言.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!