此参考列出了/api/mgmnt/service中的端点,所有这些端点都适用于较新的REST服务。下表总结了端点,并指出它们是否也适用于手动编码的REST服务。
端点 | 总结 | 适用于NEWER REST服务? | 适用于手动编码的REST服务? |
---|---|---|---|
DELETE /api/mgmnt/v2/:ns/:app | 删除REST服务 | YES | no |
GET /api/mgmnt/ | 列出此服务器上启用REST的web应用程序 | YES | YES |
GET /api/mgmnt/v1/:ns/restapps | 列出命名空间中支持REST的web应用程序 | YES | YES |
GET /api/mgmnt/v1/:ns/spec/:app | 返回REST服务的OpenAPI 2.0规范 | no | YES |
GET /api/mgmnt/v2/ | 列出此服务器上的REST服务(包括任何没有关联web应用程序的服务) | YES | no |
GET /api/mgmnt/v2/:ns | 列出命名空间中的REST服务(包括任何没有关联web应用程序的服务) | YES | no |
GET /api/mgmnt/v2/:ns/:app | 返回REST服务的OpenAPI 2.0规范 | YES | YES |
这里ns是一个命名空间,app是包含REST服务类的包的名称。
- DELETE /api/mgmnt/v2/:namespace/:application/ – 删除给定REST应用程序的类。请注意,此调用查找更新的REST服务。它忽略任何手动编码的REST服务。
- GET /api/mgmnt/ – 返回一个数组,该数组包含所有命名空间中支持REST的web应用程序的信息。
- GET /api/mgmnt/v1/:namespace/restapps – 返回一个数组,该数组包含给定命名空间中支持REST的web应用程序的信息。
- GET /api/mgmnt/v1/:namespace/spec/:application/ – 返回给定REST服务的OpenAPI 2.0规范,该服务必须是手动编码的REST服务。
- GET /api/mgmnt/v2/ – 返回一个数组,该数组包含有关服务器上较新REST服务的信息(包括任何没有关联web应用程序的服务)。此调用忽略任何手动编码的REST服务。
- GET /api/mgmnt/v2/:namespace/ – 返回一个数组,该数组包含给定命名空间中较新REST服务的信息(包括没有关联web应用程序的任何REST服务)。此调用忽略任何手动编码的REST服务。
- GET /api/mgmnt/v2/:namespace/:application/ – 返回给定REST服务的OpenAPI 2.0规范。REST服务可以是较新的REST服务,也可以是手动编码的REST服务。
- POST /api/mgmnt/v2/:namespace/:application – 给定Swagger(OpenAPI 2.0)规范,此调用为REST应用程序生成脚手架。
8.1 DELETE /api/mgmnt/v2/:namespace/:application/
删除给定REST应用程序的类。请注意,此调用查找更新的REST服务。它忽略任何手动编码的REST服务。
URL参数
namespace | 必须的。命名空间名称。此参数不区分大小写。 |
---|---|
application | 必须的。包含spec、impl和disp类的包的完全限定名称。此参数不区分大小写。 |
权限
若要使用此端点,您必须是%Developer
角色的成员,并且必须具有对给定命名空间的读/写访问权限。
请求示例
-
请求方法:
DELETE
-
请求URL:
http://localhost:52773/api/mgmnt/v2/user/myapp
响应
此呼叫没有响应。
8.2 GET /api/mgmnt/
返回一个数组,该数组包含所有命名空间中支持REST的web应用程序的信息。
URL参数
无
权限
若要使用此端点,必须具有对给定命名空间的读取权限。如果未指定命名空间,或者指定的命名空间为%SYS,则必须具有对默认命名空间(USER)的读取权限。注意,您可以将默认名称空间设置为不同的名称空间;为此,请将全局节点^%SYS("REST","UserNamespace")
设置为所需的命名空间。
请求示例
-
请求方法:
GET
-
请求URL:
http://localhost:52773/api/mgmnt/
响应
响应是JSON数组;数组中的每个对象表示此服务器上的REST服务。具体来说,此调用检索有关此服务器上配置的所有支持REST的web应用程序的信息。它可以找到更新的和手动编码的REST服务。如果有REST服务类(更新的或手动编码的)没有关联的支持REST的web应用程序,则这些服务类不会包含在该响应中。
给定对象具有以下属性:
-
name — 支持REST的web应用程序的名称。
-
dispatchClass — REST服务的分派类的名称。具体来说,这是web应用程序的Dispatch class配置选项所指示的类。
-
namespace — 在其中定义分派类的命名空间。
-
resource — 使用此REST服务所需的InterSystems IRIS资源的名称。
-
swaggerSpec — 可以获取此REST服务的OpenAPI 2.0规范的端点。
-
enabled — 指定是否启用REST服务。
以下是示例响应:
[
{
"name": "/api/atelier",
"dispatchClass": "%Api.Atelier",
"namespace": "%SYS",
"resource": "%Development",
"swaggerSpec": "/api/mgmnt/v1/%25SYS/spec/api/atelier",
"enabled": true
},
{
"name": "/api/deepsee",
"dispatchClass": "%Api.DeepSee",
"namespace": "%SYS",
"resource": "",
"swaggerSpec": "/api/mgmnt/v1/%25SYS/spec/api/deepsee",
"enabled": true
},
{
"name": "/api/docdb",
"dispatchClass": "%Api.DocDB",
"namespace": "%SYS",
"resource": "",
"swaggerSpec": "/api/mgmnt/v1/%25SYS/spec/api/docdb",
"enabled": true
},
{
"name": "/api/iknow",
"dispatchClass": "%Api.iKnow",
"namespace": "%SYS",
"resource": "",
"swaggerSpec": "/api/mgmnt/v1/%25SYS/spec/api/iknow",
"enabled": true
},
{
"name": "/api/mgmnt",
"dispatchClass": "%Api.Mgmnt.v2.disp",
"namespace": "%SYS",
"resource": "",
"swaggerSpec": "/api/mgmnt/v1/%25SYS/spec/api/mgmnt",
"enabled": true
},
{
"name": "/api/uima",
"dispatchClass": "%Api.UIMA",
"namespace": "%SYS",
"resource": "",
"swaggerSpec": "/api/mgmnt/v1/%25SYS/spec/api/uima",
"enabled": true
},
{
"name": "/webapp/simple2",
"dispatchClass": "simple2.disp",
"namespace": "USER",
"resource": "",
"swaggerSpec": "/api/mgmnt/v1/USER/spec/webapp/simple2",
"enabled": true
}
]
8.3 GET /api/mgmnt/v1/:namespace/restapps
返回一个数组,该数组包含所有命名空间中支持REST的web应用程序的信息。
URL参数
无
权限
若要使用此端点,必须具有对给定命名空间的读取权限。如果未指定命名空间,或者指定的命名空间为%SYS,则必须具有对默认命名空间(USER)的读取权限。注意,您可以将默认名称空间设置为不同的名称空间;为此,请将全局节点^%SYS("REST","UserNamespace")
设置为所需的命名空间。
请求示例
-
请求方法:
GET
-
请求URL:
http://localhost:52773/api/mgmnt/v1/user/restapps
响应
响应是JSON数组;阵列中的每个对象表示支持REST的web应用程序。有关详细信息,请参阅GET/api/mgmnt/。
8.4 GET /api/mgmnt/v1/:namespace/spec/:application/
返回OpenAPI 2.0规范,该服务必须是手动编码的REST服务。
URL参数
namespace | 必需的。命名空间名称。此参数不区分大小写。 |
---|---|
application | 必需的。包含REST服务类的包的完全限定名称。 |
权限
若要使用此端点,必须具有对给定命名空间的读取权限。如果未指定命名空间,或者指定的命名空间为%SYS,则必须具有对默认命名空间(USER)的读取权限。注意,您可以将默认名称空间设置为不同的名称空间;为此,请将全局节点^%SYS("REST","UserNamespace")
设置为所需的命名空间。
您还必须具有对包含分派类的数据库的读取权限。分派类名称空间和端点名称空间必须相同(包中以%开头的分派类除外,所有名称空间都可以使用)。
请求示例
-
请求方法:
GET
-
请求URL:
http://localhost:52773/api/mgmnt/v1/user/spec/myapp
响应
此调用返回Swagger(OpenAPI 2.0)规范,如https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md。
8.5 GET /api/mgmnt/v2/
返回一个数组,该数组包含有关服务器上较新REST服务的信息(包括任何没有关联web应用程序的服务)。此调用忽略任何手动编码的REST服务。
URL参数
无
权限
若要使用此端点,必须具有对给定命名空间的读取权限。如果未指定命名空间,或者指定的命名空间为%SYS,则必须具有对默认命名空间(USER)的读取权限。注意,您可以将默认名称空间设置为不同的名称空间;为此,请将全局节点^%SYS("REST","UserNamespace")
设置为所需的命名空间。
请求示例
-
请求方法:
GET
-
请求URL:
http://localhost:52773/api/mgmnt/v2/
响应
响应是JSON数组;数组中的每个对象都表示REST服务。给定对象具有以下属性:
-
name — REST服务的名称。
-
webApplications — 提供对REST服务的访问的web应用程序的名称。
-
dispatchClass — REST服务的分派类的名称。
-
namespace — 在其中定义分派类和其他类的命名空间。
-
swaggerSpec — 可以获取此REST服务的OpenAPI 2.0规范的端点。
以下是示例响应:
[
{
"name": "%Api.Mgmnt.v2",
"webApplications": "/api/mgmnt",
"dispatchClass": "%Api.Mgmnt.v2.disp",
"namespace": "%SYS",
"swaggerSpec": "/api/mgmnt/v2/%25SYS/%Api.Mgmnt.v2"
},
{
"name": "myapp",
"webApplications": "/api/myapp",
"dispatchClass": "myapp.disp",
"namespace": "USER",
"swaggerSpec": "/api/mgmnt/v2/USER/myapp"
}
]
8.6 GET /api/mgmnt/v2/:namespace/
返回一个数组,该数组包含给定命名空间中较新REST服务的信息(包括没有关联web应用程序的任何REST服务)。此调用忽略任何手动编码的REST服务。
URL参数
namespace | 必需的。命名空间名称。此参数不区分大小写。 |
---|
权限
若要使用此端点,必须具有对给定命名空间的读取权限。如果未指定命名空间,或者指定的命名空间为%SYS,则必须具有对默认命名空间(USER)的读取权限。注意,您可以将默认名称空间设置为不同的名称空间;为此,请将全局节点^%SYS("REST","UserNamespace")
设置为所需的命名空间。
请求示例
-
请求方法:
GET
-
请求URL:
http://localhost:52773/api/mgmnt/v2/%25sys
响应
响应是JSON数组;数组中的每个对象都表示REST服务。有关详细信息,请参阅“GET/api/mgmnt/v2/”
以下是示例响应:
[
{
"name": "%Api.Mgmnt.v2",
"webApplications": "/api/mgmnt",
"dispatchClass": "%Api.Mgmnt.v2.disp",
"namespace": "%SYS",
"swaggerSpec": "/api/mgmnt/v2/%25SYS/%Api.Mgmnt.v2"
}
]
8.7 GET /api/mgmnt/v2/:namespace/:application/
返回OpenAPI 2.0规范。REST服务可以是较新的REST服务,也可以是手动编码的REST服务。
URL参数
namespace | 必须的。命名空间名称。此参数不区分大小写。 |
---|---|
application | 必须的。包含spec、impl和disp类的包的完全限定名称。此参数不区分大小写。 |
权限
若要使用此端点,必须具有对给定命名空间的读取权限。如果未指定命名空间,或者指定的命名空间为%SYS,则必须具有对默认命名空间(USER)的读取权限。注意,您可以将默认名称空间设置为不同的名称空间;为此,请将全局节点^%SYS("REST","UserNamespace")
设置为所需的命名空间。
您还必须具有对包含分派类的数据库的读取权限。分派类名称空间和端点名称空间必须相同(包中以%开头的分派类除外,所有名称空间都可以使用)。
请求示例
-
请求方法:
GET
-
请求URL:
http://localhost:52773/api/mgmnt/v2/user/myapp
响应
此调用返回Swagger(OpenAPI 2.0),如https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md中:
- host始终设置为您调用的服务器的server:port。
- basePath被设置为分派到该REST应用程序的第一个web应用程序。如果没有web应用程序分派到此REST应用程序,则返回basePath,如.spec类中所示。