…述了如何使用 `/api/mgmnt` 服务来执行此操作。
## 使用 /api/mgmnt 服务生成类
第一步,生成 `REST` 服务类,如下所示:
1. 以 `JSON` 格式创建或获取 `REST` 服务的 `OpenAPI 2.0` 描述。
2. 获取 `REST` 测试工具,例如 `PostMan` (https://www.g…
…符集或输入流处理
只需将类参数添加到规范类并重新编译,就可以覆盖 `REST` 服务的几个关键方面。
- 默认情况下,`REST` 服务需要 `application/json` 内容类型。要覆盖它,请将以下内容添加到规范类:
```java
Parameter CONTENTTYPE = "some-content-type";
``…
在IRIS端,Java消息自动映射到EnsLib.PEX.Message,它是一个持久化的IRIS类,包含以下属性:
%classname属性:Java消息类名
%json属性:Java消息的JSON类型(IRIS动态对象)
在InterSystems IRIS端,例如消息可视化追踪页面和消息表,你看到的Java消息都是EnsLib.PEX.Message
我对EnsLib.HTTP.GenericOperation类进行了操作。此操作发送以下json消息:
<HTTPMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema">
<Strea…
…tional State Transfer”`,具有以下属性:
- `REST` 是一种架构风格,而不是一种格式。尽管 `REST` 经常使用 `HTTP` 来传输消息并使用 `JSON` 来传递数据,但也可以将数据作为 `XML` 或纯文本传递。 `REST` 利用现有的 `Web` 标准,例如 `HTTP`、`URL`、`XML` 和 `JSON`。…
# 第十四章 手动创建 REST 服务(二)
# 指定数据格式
可以定义 `REST` 服务以处理不同格式的数据,例如 `JSON`、`XML`、文本或 `CSV`。 `REST` 调用可以通过在 `HTTP` 请求中指定 `ContentType` 元素来指定它期望发送的数据的形式,并且可以通过在 `HTTP` 请求中指定 `Accep…
…规范开始,并使用它来生成 `REST` 服务类。要使用 `%REST.API` 类执行此操作:
1. 获取 `REST` 服务的 `OpenAPI 2.0` 规范,采用 `JSON` 格式,并将规范保存为文件。该文件必须是 `UTF-8` 编码的。
2. 在要定义 `REST` 服务的命名空间中,使用该文件创建 `%DynamicObject` 的…
…## 语法
语法`/*#OPTIONS */`(在`/*`和`#`之间没有空格)指定了一个注释选项。
注释选项不是注释;
它为查询优化器指定一个值。
注释选项使用`JSON`语法指定,通常是`“key:value”`对,例如: `/*#OPTIONS {"optionName":value} */`。
支持更复杂的JSON语法,比如嵌套值。…
…,请使用调用 `GET /api/mgmnt/` 和 `GET /api/mgmnt/:v1/:namespace/restapps`。)
如果调用成功,`IRIS` 以 `JSON` 格式返回一个列出 `REST` 服务的数组。例如:
```java
[
{
"name": "%Api.Mgmnt.v2",
"web…
…pter/r4/Patient
由于我们想要记录新患者,因此我们必须在调用正文中使用患者数据进行 POST 调用。在我们的例子中,调用格式将是 application/fhir+json,不过我们也可以使用XML格式的application/fhir+xml,不会有任何问题。
保存患者资源
在上一篇文章中我们已经看到了Patient资源的定义,所以这里…
…务描述语言 (WSDL)。 遗憾的是,这些语言的使用受限。 原因并不在于,例如,WSDL 的能力不足以表达 RESTful API,而是因为非技术上的不匹配。 (用 XML 表达 JSON 结构会是怎样的?) 最终,没有像适用于 SOAP Web 服务的 WSDL 那样的适用于 REST 的实际标准语言。 很可惜。 是不是?
没关系。 无论如何,我们首…
…标使用 `PRODUCT` 的值作为前缀。
# `/alerts Endpoint`
`/alerts` 端点从 `alerts.log` 文件中获取最新的警报并以 `JSON` 格式返回它们,例如:
```java
{"time":"2019-08-15T10:36:38.313Z","severity":2,\
"message…
以下3个HTTP头是必须要填写的:
HTTP头属性说明
下标
值
HTTP方法
"httprequest"
例如"POST"
HTTP消息体的内容类型
"content-type"
例如"application/json"
客户端希望接收的内容类型
"Accept"
例如"*/*"
这3个数组元素赋值
# 第十三章 手动创建 REST 服务(一)
本附录描述了如何通过继承 `%CSP.REST` 类来手动创建 `REST` 服务;此过程创建了一个手动编码的 `REST` 服务,它不能与所有 `API` 管理工具一起使用。
# 手动创建 `REST` 服务的基础知识
要手动定义 `REST` 服务,请执行以下操作:
- 创建一个
…f-None-Match HTTP` 标头的 `GetDoc` 方法。
`GetDocNames` 方法返回映射到命名空间的所有数据库中的所有源代码文件的名称。
```json
{
"status": {
"errors": [],
"summary": ""
},
"console": [],
"r…


