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

本文介绍在Lightning项目中如何通过JSON统一前端与Apex后台接口参数的方法,包括定义响应包装类、异常处理及请求参数封装等内容。

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)

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

转载于:https://my.oschina.net/SpringZhang/blog/1827836

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值