第七章 IRIS 列出和记录REST API

本章讨论如何发现实例上可用的REST服务,以及如何为REST服务生成文档。

7.1 使用/api/mgmnt服务发现REST服务

/api/mgmnt服务包括用于发现REST服务类和支持REST的web应用程序的调用。

7.1.1 发现REST服务

要使用/api/mgmnt服务来发现实例上可用的REST服务,请使用以下REST调用:

  • 对于HTTP操作,选择或指定GET。

  • 对于URL,请指定以下格式的URL:

    http://localhost:52773/api/mgmnt/v2/

    或者,如果您只想检查一个命名空间:

    http://localhost:52773/api/mgmnt/v2/:namespace

    其中localhost是服务器的名称,52773是运行InterSystems IRIS的web服务器端口,namespace是您要检查的名称空间。

(请注意,这些调用忽略手动编码的REST服务。要发现手动编码的应用程序,请使用调用GET/api/mgmnt/和GET/api/mgmnt/:v1/:namespace/restapps。)

如果调用成功,InterSystems IRIS将返回一个以JSON格式列出REST服务的数组。例如:

[
  {
    "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"
  }
]

7.1.2 发现支持REST的Web应用程序

要使用/api/mgmnt服务来发现实例上可用的支持REST的web应用程序,请使用以下REST调用:

  • 对于HTTP操作,选择或指定GET。

  • 对于URL,请指定以下格式的URL:

    http://localhost:52773/api/mgmnt

    或者,如果您只想检查一个命名空间:

    http://localhost:52773/api/mgmnt/v1/:namespace/restapps

    其中localhost是服务器的名称,52773是运行InterSystems IRIS的web服务器端口,namespace是您要检查的名称空间。

请参阅GET/api/mgmnt/和GET/api/mgmnt/:v1/:namespace/restapps的参考部分。

7.2 使用%REST.API类发现REST服务

%REST.API提供了可用于发现REST服务类和支持REST的web应用程序的方法。

7.2.1 发现REST服务类

要使用%REST.API来发现实例上可用的REST服务,请使用该类的以下方法:

GetAllRESTApps()

GetAllRESTApps(Output appList As %ListOfObjects) as %Status

作为输出,返回此服务器上的REST服务列表。输出参数applist是%ListOfObjects的一个实例,列表中的每个项都是包含REST服务信息的%REST.Application的实例。这包括任何没有关联web应用程序的REST服务。此方法忽略任何手动编码的REST服务。

GetRESTApps()

GetRESTApps(namespace as %String,
            Output appList As %ListOfObjects) as %Status

作为输出,返回名称空间中的REST服务列表。请参阅GetAllWebRESTApps()。请参阅GetAllRESTApps()

7.2.2 发现支持REST的Web应用程序

要使用%REST.API来发现实例上可用的支持REST的web应用程序,请使用该类的以下方法:

GetAllWebRESTApps()

GetAllWebRESTApps(Output appList As %ListOfObjects) as %Status

作为输出,返回此服务器上支持REST的web应用程序的列表。输出参数applist是%ListOfObjects的实例,列表中的每个项都是包含web应用程序信息%REST.Application的一个实例。

GetWebRESTApps()

GetWebRESTApps(namespace as %String,
               Output appList As %ListOfObjects) as %Status

作为输出,返回名称空间中支持REST的web应用程序列表。请参阅GetAllWebRESTApps()

7.3 为REST服务提供文档

记录任何API都很有用,这样开发人员就可以轻松地使用API。如果REST API遵循OpenAPI 2.0规范,则可以在开源框架中使用Swagger,根据规范内容为API提供交互式文档。

一种选择是使用SwaggerUI,并提供文档的托管副本。对于演示:

  1. 去https://swagger.io/tools/swagger-ui/

  2. 单击Live Demo。

  3. 在页面顶部的框中,以JSON格式输入OpenAPI 2.0规范的URL。

    例如,在InterSystems IRIS服务器上使用GET/api/mgmnt/v2/:namespace/:application调用。

  4. 单击Explore.

然后,页面的下部显示文档,如以下示例所示:

在这里插入图片描述

在这里,您可以查看每个呼叫的详细信息,尝试测试呼叫并查看响应。有关详细信息,请参阅网站中的Swagger。

其他第三方工具使您能够生成静态HTML。InterSystems对此没有具体建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值