大家好,才是真的好。
我希望你看过前一篇内容《Domino REST API安装和运行》。没有看过也没有关系,毕竟你可以点击上面的链接再去看一遍。
至于这一篇,趁热打铁,我们主要来讲述如何配置Domino Rest API的数据访问。
首先这里有一张图,示意了Domino REST API中的Schema和Scope之间的关系。
说来话长,Schema我也想直译为架构或纲要,奈何官方还没给出明确的中文翻译,因此我还是继续直接使用Schema吧。
Schema其实是数据库的定义,每个Notes数据库其实也可以包括多个Schema,每个Schema主要用来声明Notes库中的表单、视图和代理等元素。
而Scope主要是对外(第三方应用)声明的Notes数据库的名称。也就是说,外部应用要访问Notes库或库里的数据,不能直接使用Notes库名,而是通过Scope来声明。每个Schema能够对应多个Scope。
如果没搞清楚,也没关系,我们可以边实验边了解。
首先,我做了一个很简单的data.nsf数据库,里面视图如下所示:
表单也非常简单,只有四个字段:title、username、age、salary。
还记得这个REST API管理界面吗?我们通过访问登录Domino的IP地址或者Internet域名地址,后面加上端口号8880就可以访问到Domino Rest API的管理界面:
点击上图所示的配置,输入用户名和密码之后进行登录,接着点击左边的 Schemas,点击添加新的Schema,然后选择data.nsf数据库,设置字段如下:
Schema Name:dataschema
Description: data.nsf schema
其他默认,添加Add按钮,效果如下图:
接着,点击Database Forms,里面会出现data.nsf中的表单data,我们点击一下
会自动进行配置,点击Yes即可:
再点击进去,添加表单上的字段,我们可以点击Add All把表单上的所有字段都添加进去,如下图:
你也可以继续添加View和Agent,但这里我们最简单,只添加Form,然后你可以通过Notes客户机打开Keep Configration数据库,看到里面多了一条Scope的配置文档,如下图:
还是回到REST API的主页面,这时点击Scopes,添加Scopes,如下图:
选择我们上一步配置的dataschema,然后依次填入
Scope Name:datascope
Description: data.nsf scope
点击Add按钮即可,如下图:
这样就好了,剩下我们来做一点测试吧。本例我们采用postman,先将REST API的用户名和密码(Domino管理员和密码)取到,URL地址为http://domsrv01.xdomino.com:8880/api/v1/auth,其中8880是端口,/api/v1/auth是固定路径,在Body中输入用户名和密码的JSON数据进行请求:
{
"username":"admin",
"password":"password"
}
如下图:
这样你就得到上框标识的一个bearer值,其实是一个JWT认证的令牌,我们记录下。接着就可以开始请求数据了,例如我们通过post请求,写入一个新文档到data.nsf数据库中。
在Postman中输入的URL地址为http://domsrv01.xdomino.com:8880/api/v1/document?dataSource=datascope(还记得datascope吗?),其中8880是端口,/api/v1/document是写文档,在Header中设置
Content-Type:application/json
Authorization:Bearer eyJ0eXAiOiJKV1QiLCJh…
如下图所示:
在Body中输入要更新的文档数据,以JSON格式,类似于
{
"title": "销售",
"username": "LiuXi",
"age": 34,
"salary": 7600,
"Form": "data"
}
如下图:
点击Send发送之后,得到反馈数据:
你也可以在Notes中打开data.nsf数据库,看是否有数据更新进去:
这里只是一个非常简单的例子,主要说明了怎么样更新数据进去,其实你还可以读取数据,还可以通过URL来创建数据库、表单,视图,代理等等,功能十分丰富和强大。
下图展现的是通过REST API可以读取到的Domino的数据库列表:
今天的内容非常多,我们就介绍到这里。更多文章可关注微信公号:协作者