第八章 IRIS /api/mgmnt/ API端点

此参考列出了/api/mgmnt/service中的端点,所有这些端点都适用于较新的REST服务。下表总结了端点,并指出它们是否也适用于手动编码的REST服务。

端点总结适用于NEWER REST服务?适用于手动编码的REST服务?
DELETE /api/mgmnt/v2/:ns/:app删除REST服务YESno
GET /api/mgmnt/列出此服务器上启用REST的web应用程序YESYES
GET /api/mgmnt/v1/:ns/restapps列出命名空间中支持REST的web应用程序YESYES
GET /api/mgmnt/v1/:ns/spec/:app返回REST服务的OpenAPI 2.0规范noYES
GET /api/mgmnt/v2/列出此服务器上的REST服务(包括任何没有关联web应用程序的服务)YESno
GET /api/mgmnt/v2/:ns列出命名空间中的REST服务(包括任何没有关联web应用程序的服务)YESno
GET /api/mgmnt/v2/:ns/:app返回REST服务的OpenAPI 2.0规范YESYES

这里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类中所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值