开发者学堂课程【低代码氚云应用开发课程:氚云的第三方接口调用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/894/detail/14287
氚云的第三方接口调用
内容简介:
一、氚云调用第三方接口
二、示例
一、氚云调用第三方接口
1.氚云平台调用第三方接口示例图
氚云平台是不能直接调用第三方的接口的,所以它是不提供 system.web 和system.net。
氚云平台不提供其他类别,它是通过一个中间件点对点的去调用这个中间件里面几个方法,从而去通过这个中间件再去调用第三方的接口。
比如:
氚云平台去调用中间件,中间件再去调用第三方的接口,再返回给 web service,web service 再返回给创业平台。
2. webservice 规范性:
只能有4个同名接口,大小都要一致,返回类型都为JSON字符串,对应关系如下:
1. 函数:GetSchema(string schemaCode)
2. 函数:GetSchemaList0
3. 函数:GetList(string userCode, string schemaCode, string filter)
4. 函数:Invoke(string userCode, string schemaCode, string methodName, string param)
采用语言最好用 Csharp 语言,如果用其他语言去写的话,会出现各种各样的问题。
3. this.Engine.BizBus. 里面也有4个方法:
1. GetList
2. GetSchema
3. GetSchemaList
4. Invoke
四个方法的作用:第三个方法 get list,就是获取 list 对象的一个结果集。
Invoke 就是获取一个结果。我们可以理解为一个是结果的 list,一个是结果。
对于上面 get schema 和 get schema list,我们只用看这个 schema ,这个schema 在创业里面还是用的比较多的一个概念。Schema 就是说这个数据的组织格式。
我们在氚云里面去调用接口的话,也是先申明一个 schema,然后再根据这个 schema 去创建一个 schema 的一个对象,就相当于先申明一个类,然后再创建一个类的对象,而不是说直接写一个阶层对象。
二、示例
1.写代码方法:
新建一个表单:第三方接口对接
功能:天气查询
控件编码:city
控件名称:城市
控件编码:date
控件名称:日期
输入城市,
然后输入日期,
最后把城市的天气情况反馈过来(要把这个城市和日期这两个参数传到接口后面)
氚云代码编写:
//第一步,声明参数的结构
H3. BizBus.BizStructureSchema schema = new H3.BizBus.BizStructureSchema();
schema.Add(new H3.BizBus.ItemSchema("city", "data", H3.Data.BizDataType.String, 200, null));
schema.Add(new H3.BizBus.ItemSchema("date", "data", H3.Data.BizDataType.string, 200, nul1));
//第二步,给参数赋值
H3.BizBus.BizStructure paramData = new H3.BizBus.BizStructure(schema);
paramData["city"]= this.Request.BizObject["city"];
paramData["data"] = this.Request.BizObject["data"];
//第三步,调用接口
H3.BizBus.InvokeResult inResult = this.Engine.ezBus.Invoke(H3.Organization.User.SystemUserId, H3.BizBus. AccessPointType. Legacy,this.Request.SchemaCode, “Test” ParamData);
解释:
第一步是声明,声明一个结构。
然后第二步是直接给参数赋值,通过 schema 去转成一个 structure,然后再给里面的参数进行一个复制。第三步才是直接去调用接口。
第三步的参数和后台的参数是一一对应的。
user code 就是第一个参数,
第二个参数是一个默认值。
第三个参数是一个 schema 的参数,就是传过来表单里的参数。
第四个参数是 method name,可以理解成为 action name。
最后一个参数最重要,直接转成了一个阶层对象。
2.服务器端的代码
("ResultCode:"0", "Message”: “”, “ Schema”:
(“Code”:"Student","ltems":[("Name":Name""DisplayName", “学生姓名”,
"DataType:"String"),(Name Age"DisplayName "学生年龄”,"DataType":"Int").
("Name "ReturnData "DisplayName":"子表数据","DataType”: “ BizStructureArray" "ChildSchema”:
("Code":"ResultObject","ltems":
[("Name":"ResultCode "DisplayName":"执行结果代
码","DataType":"Int"),
("Name":"ErrorMessage "DisplayName":"异常原
因","DataType:String")]}}]}, "Data":“Name":"张
三""Age 10°'ReturnData":
[{"ResultCode 0","ErrorMessage":"0")
{ResultCode '1”"ErrorMessage 1”}]}}
3.调试方法:
第一,点击调试
第二,点击附加到进程
第三,氚云平台提交
第四,调取调试