配置REST API数据访问

大家好,才是真的好。

我希望你看过前一篇内容《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的数据库列表:
在这里插入图片描述
今天的内容非常多,我们就介绍到这里。更多文章可关注微信公号:协作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/223782.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子学会C/C++编程等级考试2021年03月(四级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:酒鬼 Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上。瓶子里都装有不同体积的酒。令Santo高兴的是,瓶子中的酒都有不同的味道。房东说道:“你可以…

鸿蒙4.0开发笔记之ArkTS语法基础之条件渲染和循环渲染的使用(十五)

文章目录 一、条件渲染(if)二、循环渲染(ForEach) 一、条件渲染(if) 1、定义 正如其他语言中的if…else…语句,ArkTS提供了渲染控制的能力,条件渲染可根据应用的不同状态&#xff0…

计算机服务器中了locked勒索病毒的正确处理流程,locked勒索病毒解密

随着网络技术在企业生产运营中的进行,越来越多的企业开始利用网络走向数字化办公模式,数字化办公是企业的较为智能与先进的办公系统,这要求企业在日常工作中要确保计算机系统的安全,以防网络安全威胁时间的产生。近期,…

Image Segmentation Using Deep Learning: A Survey

论文标题:Image Segmentation Using Deep Learning:A Survey作者:发表日期:阅读日期 :研究背景:scene understanding,medical image analysis, robotic perception, video surveillance, augmented reality, and image…

光伏系统方案设计的注意点

随着太阳能技术的日益发展,光伏系统已经成为一种重要的可再生能源解决方案。然而,设计一个高效、可靠的光伏系统需要考虑到许多因素。本文将探讨光伏系统方案设计的注意点,包括系统规模、地理位置、组件选择、系统布局和运维策略。 系统规模 …

服务器——单个显卡的CPU占用比达到100%,但GPU使用率为0(卡住了)的解决办法

一、现象: 二、解决办法 先输入 htop,进入任务管理器。然后找到对应进程,按F9,再按一下9。

CVE初探之漏洞反弹Shell(CVE-2019-6250)

概述 ZMQ(Zero Message Queue)是一种基于消息队列得多线程网络库,C编写,可以使得Socket编程更加简单高效。 该编号为CVE-2019-6250的远程执行漏洞,主要出现在ZMQ的核心引擎libzmq(4.2.x以及4.3.1之后的4.3.x)定义的ZMTP v2.0协议中。 这一…

etcd 与 Consul 的一致性读对比

本文分享和对比了 etcd 和 Consul 这两个存储的一致性读的实现。 作者:戴岳兵,爱可生研发中心工程师,负责项目的需求开发与维护工作。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本…

如何从eureka-server上进行服务发现,负载均衡远程调用服务

在spring cloud的maven的pom文件中添加eureka-client的依赖坐标 <!--eureka-client依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependen…

Apache Kafka CVE-2023-25194(metasploit版)

Step1&#xff1a;用docker搭建环境 Step2&#xff1a;docker查看映射端口 Step3&#xff1a;访问特定端口&#xff0c;然后靶标应用。 Step4&#xff1a;用metasploit进行攻击&#xff1a; 首先&#xff0c;打开metasploit&#xff0c;然后查询需要攻击的板块&#xff0…

如何搭建软件测试环境?

关于如何搭建测试环境&#xff0c;也是面试会经常问到的一个问题&#xff0c;一般常见于一些创业公司&#xff0c;因为测试环境不够完善&#xff0c;可能会遇到搭建环境这个问题。 一般来说&#xff0c;测试环境搭建都属于运维的工作范畴&#xff0c;但是可能有些创业公司就没有…

103.进程概述

目录 1.并行和并发 区别&#xff1a; 2.PCB 3.进程状态 4. 进程命令 从严格意义上来讲&#xff0c;程序和进程是两个不同的概念&#xff0c;他们的状态&#xff0c;占用的系统资源都是不同的。 程序&#xff1a;程序是一种静态实体&#xff0c;是存储在计算机存储介质上的…

Python通过 psd-tools 解析 PSD 文件

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com PSD&#xff08;Photoshop Document&#xff09;是Adobe Photoshop软件中使用的图像文件格式&#xff0c;包含图层、通道、蒙版等信息。在Python中&#xff0c;我们可以使用 psd-tools 库来解析和处理PSD文件。本…

开发者的福音:TinyVue 组件库文档大优化!类型更详细,描述更清晰!

你好&#xff0c;我是 Kagol。 前言 从今年2月份开源以来&#xff0c;有不少朋友给我们 TinyVue 组件库提了文档优化的建议&#xff0c;这些建议都非常中肯&#xff0c;我们也在持续对文档进行优化&#xff0c;并且从中总结出了大家对于文档优化的一些共性问题&#xff0c;形…

YOLOv8改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)

一、本文介绍 本文给大家带来的改进是Triplet Attention三重注意力机制。这个机制&#xff0c;它通过三个不同的视角来分析输入的数据&#xff0c;就好比三个人从不同的角度来观察同一幅画&#xff0c;然后共同决定哪些部分最值得注意。三重注意力机制的主要思想是在网络中引入…

云上守沪 | 云轴科技ZStack成功实践精选(上海)

为打造国际数字之都&#xff0c;上海发布数字经济发展“十四五”规划&#xff0c;围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域&#xff0c;加强数据、技术、企业、空间载体等关键要素协同联动&#xff0c;加快进行数字经济发展布局&#xff1b;加快基础软件…

指针(三)

函数指针 定义&#xff1a;整型指针是指向整形的指针,数组指针式指向数组的指针,其实函数指针就是指向函数的指针。 函数指针基础&#xff1a; &#xff08;&#xff09;优先级要高于*&#xff1b;一个变量除去了变量名&#xff0c;便是它的变量类型&#xff1b;一个指针变量…

SQL手工注入漏洞测试(Access数据库)-墨者

———靶场专栏——— 声明&#xff1a;文章由作者weoptions学习或练习过程中的步骤及思路&#xff0c;非正式答案&#xff0c;仅供学习和参考。 靶场背景&#xff1a; 来源&#xff1a; 墨者学院 简介&#xff1a; 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

Linux详解—环境变量

目录 前言 一、基本概念 二、常见环境变量 三、查看环境变量方法 四、和环境变量相关的命令 1. echo: 显示某个环境变量值​编辑 2. export: 设置一个新的环境变量​编辑 3. env: 显示所有环境变量​编辑 4. unset: 清除环境变量​编辑 5. set: 显示本地定义的shell变…

python将时间戳转换为时间

python将时间戳转换为时间 import datetime timestamp 1701862813779 # 将时间戳转换为秒&#xff08;因为Python的timestamp通常是以秒为单位的&#xff09; timestamp_seconds timestamp / 1000 # 将时间戳转换为UTC时间 utc_time datetime.datetime.utcfromti…