如何与金蝶系统进行接口对接

一 ,接口分析

在进行接口对接时候需要根据金蝶那边传来的json字段进行分析,金蝶的新增和保存接口巨繁琐,需要特别注意,解析字段,我们需要传给金蝶什么字段数据,然后根据自己的实际情况,进行传输。

二,接口实现

1) 由于我使用是安卓项目,首先我需要去用于配置和创建使用 Retrofit 库进行网络请求的客户端

然后进行与网络请求相关的方法和接口定义,我使用了 RxJava 和 Retrofit 库来进行异步网络请求和数据响应处理

1.Observable<JsonArray>commitOrderPost(BasPreBaseDataOneRequestbasPreBaseDataOneRequest)
这是一个接口方法的声明,它定义了一个名为 commitOrderPost 的方法,用于发送网络请求并返回一个 Observable 对象。该方法接受一个类型为 BasPreBaseDataOneRequest 的参数 basPreBaseDataOneRequest,并且返回一个 Observable 对象,该对象将在请求完成后发出 JsonArray 类型的响应。

2.Observable<JsonArray>commitOrderPost(BasPreBaseDataOneRequestbasPreBaseDataOneRequest)
这是接口 commitOrderPost 的声明,它指定了具体的方法签名。它与上面的接口方法相同,用于发送网络请求,并返回一个 Observable 对象,该对象将在请求完成后发出 JsonArray 类型的响应。

3.Observable<JsonArray>commitOrderPost(@Body()BasPreBaseDataOneRequestbasPreBaseDataOneRequest)
这是使用 Retrofit 注解的另一部分,指定了请求方法和请求体参数。在这里,它指定了使用 POST 方法发送请求,并将 BasPreBaseDataOneRequest 对象作为请求体发送给服务器。

2) 然后去封装查询项目接口需要的实体类

由于以上是查询接口,json很少所以手打代码,如果遇到保存或者新增的接口json建议使用工具创建实体类。

3)创建请求对象并设置查询参数

由于这里的项目的是json字段,所以我在这里写死代码,具体需求根据自己的实际情况设置参数

       创建 BasPreBaseDataOneRequest 对象和 DataInfo 对象:
首先,创建了一个 BasPreBaseDataOneRequest 对象和一个 DataInfo 对象,用于封装查询项目所需的参数。

      设置查询项目参数:
在 DataInfo 对象中,使用 setFormId 方法设置表单ID为 "BAS_PreBaseDataOne",使用 setFieldKeys 方法设置需要返回的字段为 "FNumber" 和 "FName",使用 setFilterString 方法设置查询的过滤条件。

  1. 发起网络请求并处理响应:
    通过调用 model.commitOrderPost(basPreBaseDataOneRequest) 发起网络请求,并使用 RxJava 进行链式操作处理响应。代码中使用了一些 RxJava 的操作符,如 composedoOnSubscribedoOnError 和 subscribe

    • compose(RxUtils.schedulersTransformer()):将请求在 IO 线程执行,响应在主线程处理,以确保在正确的线程进行操作。
    • doOnSubscribe(disposable -> showDialog()):在请求开始时显示进度对话框。
    • doOnError(throwable -> {dismissDialog();}):在请求发生错误时隐藏进度对话框。
    • subscribe(s -> { project1 = (JsonArray) s; dismissDialog(); }):订阅响应,将返回的响应赋值给 project1,并隐藏进度对话框。

通过创建请求对象并设置查询参数,然后使用 Retrofit 和 RxJava 发起网络请求并处理响应,将返回的响应赋值给 project1 变量,并隐藏进度对话框。

4)金蝶接口反馈的Response相应,可以看到IsSuccess字段为true,接口对接成功。

综上所述大致步骤分为创建 Retrofitv,创建 API 接口实例,发起请求,处理响应,监听状态等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值