本帖最后由 Bella.Yuan 于 2023-1-5 18:24 编辑
书接上回:
上篇中我们讲解了如何使用工具进行api调用测试,以及第一个api接口【api获取登录token信息】的使用方法 而得益于前后端分离的架构,使Wyn中几乎所有的请求都可以通过api调用直接实现
=====下篇 实战技巧===== 1.如何寻找自己需要的API接口: 上篇中讲到如何使用postman来调用调试api接口,接下来就讲解如何获取想要的接口: 这里列出了一部分常用Api的调用示例以供参考:
② 直接从网络请求中获取调用地址 除了上述的示例站点,我们也可以在使用Wyn的时,开启F12的开发者控制台,看到所有的网络请求调用 例如:打开门户界面时,获取仪表板的一览信息: 这是一个Graphiql的查询Api,我们可以直接复制请求的正文(Request Payload)和地址(Request URL) 到Postman中 实现基于Api的调用 请求和结果都是JSON格式,注意带上我们在上篇中拿到的用户令牌(Token) 当然令牌也可以从后台UI中操作申请,参照 https://help.grapecity.com.cn/pages/viewpage.action?pageId=57502109
效果如图:返回值就是所有类型为仪表板的文档信息
请求中的Type对应的是文档类型(dsc=数据源,dataset=数据集,rdl=报表,rdlx=页面报表,dbd=仪表板)
2.实战:使用Api调用完成Web JSON数据源、数据集的创建 上面讲解了如何获取需要的Api,以及调用的方式,接下来我们就以一个WebJson作为示例,使用Api完成从创建,到建立数据集的所有操作: 画面和请求对照: http://localhost:51980/api/graphql 提取出Api调用如图: 可以看到上图中从源中已经获取到了表结构(SchemaDefinition部分)
而通过api创建时我们可以忽略这个部分,由Wyn动态获取
②.创建数据集
画面和请求对照:
提取出Api调用:
这样就从Api生成了数据集
上图中用到的是数据源的ID(DatasourceID),而我们可以通过Graphiql,查到任意文档对应的ID
{"query":"query {datasources(search: \"文档名称\") {id,name}}"}
*关于获取数据源表结构(TableSchema)
如果我们事先并不知道Json的字段类型以及数据结构,也可以使用Wyn的Api来进行推断生成
例如上面示例中的数据源:
可以通过Graphql直接查询出表结构
- POST /api/graphql?token=b0370c8834a4d1fc8e1c235817794d17d9059fd1c63df380b44742f242a4605e HTTP/1.1
- Host: localhost:51980
- Content-Type: application/json
- Content-Length: 225
- {"query":"query {datasourceSchemas(ids:"3b0f3d5e-ea2f-4aa8-b7f7-deb814d3add1" loadColumns:true) { models { id,tables { columns { allowDBNull dataType name } name originName tableSchema }}}}"}
复制代码
|