找回密码
 立即注册

QQ登录

只需一步,快速开始

Tony.Fu 活字格认证 Wyn认证
超级版主   /  发表于:2021-10-8 19:06  /   查看:2929  /  回复:0
本帖最后由 Bella.Yuan 于 2023-1-5 18:24 编辑

书接上回:
  上篇中我们讲解了如何使用工具进行api调用测试,以及第一个api接口【api获取登录token信息】的使用方法    而得益于前后端分离的架构,使Wyn中几乎所有的请求都可以通过api调用直接实现

=====下篇 实战技巧=====
1.如何寻找自己需要的API接口:
上篇中讲到如何使用postman来调用调试api接口,接下来就讲解如何获取想要的接口:
这里列出了一部分常用Api的调用示例以供参考:
image.png754554443.png

② 直接从网络请求中获取调用地址
除了上述的示例站点,我们也可以在使用Wyn的时,开启F12的开发者控制台,看到所有的网络请求调用
例如:打开门户界面时,获取仪表板的一览信息:
image.png199371337.png
这是一个Graphiql的查询Api,我们可以直接复制请求的正文(Request Payload)和地址(Request URL)
到Postman中 实现基于Api的调用
请求和结果都是JSON格式,注意带上我们在上篇中拿到的用户令牌(Token)
当然令牌也可以从后台UI中操作申请,参照
https://help.grapecity.com.cn/pages/viewpage.action?pageId=57502109

效果如图:返回值就是所有类型为仪表板的文档信息
image.png549956054.png
请求中的Type对应的是文档类型(dsc=数据源,dataset=数据集,rdl=报表,rdlx=页面报表,dbd=仪表板)


2.实战:使用Api调用完成Web JSON数据源、数据集的创建
上面讲解了如何获取需要的Api,以及调用的方式,接下来我们就以一个WebJson作为示例,使用Api完成从创建,到建立数据集的所有操作:
①.创建数据源(以测试地址 https://jsonplaceholder.typicode.com/posts 为例)
画面和请求对照:
image.png61602782.png image.png535997924.png
http://localhost:51980/api/graphql
提取出Api调用如图:
image.png464394530.png
可以看到上图中从源中已经获取到了表结构(SchemaDefinition部分)
而通过api创建时我们可以忽略这个部分,由Wyn动态获取


②.创建数据集

画面和请求对照:
image.png113175353.png    image.png291640013.png
提取出Api调用:
image.png690594787.png
这样就从Api生成了数据集

上图中用到的是数据源的ID(DatasourceID),而我们可以通过Graphiql,查到任意文档对应的ID
{"query":"query {datasources(search: \"文档名称\") {id,name}}"}
image.png65862730.png


*关于获取数据源表结构(TableSchema)
如果我们事先并不知道Json的字段类型以及数据结构,也可以使用Wyn的Api来进行推断生成
例如上面示例中的数据源:
可以通过Graphql直接查询出表结构
image.png448593444.png
  1. POST /api/graphql?token=b0370c8834a4d1fc8e1c235817794d17d9059fd1c63df380b44742f242a4605e HTTP/1.1
  2. Host: localhost:51980
  3. Content-Type: application/json
  4. Content-Length: 225

  5. {"query":"query {datasourceSchemas(ids:"3b0f3d5e-ea2f-4aa8-b7f7-deb814d3add1" loadColumns:true) { models {  id,tables {    columns {      allowDBNull      dataType      name    }    name    originName    tableSchema  }}}}"}
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部