前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >发现和记录 REST API

发现和记录 REST API

作者头像
用户7741497
发布2022-08-05 17:33:40
6870
发布2022-08-05 17:33:40
举报
文章被收录于专栏:hml_知识记录hml_知识记录

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

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

/api/mgmnt 服务包括可用于发现 REST 服务类和启用 RESTWeb 应用程序的调用。

发现 REST 服务

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

  • 对于 HTTP 操作,选择或指定 GET
  • 对于 URL,请指定以下形式的 URL
代码语言:javascript
复制
http://localhost:52773/api/mgmnt/v2/

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

代码语言:javascript
复制
http://localhost:52773/api/mgmnt/v2/:namespace

其中 localhost 是服务器的名称,52773 是运行 IRISWeb 服务器端口,命名空间是要检查的命名空间。

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

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

代码语言:javascript
复制
[
  {
    "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"
  }
]

发现支持 RESTWeb 应用程序

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

  • 对于 HTTP 操作,选择或指定 GET
  • 对于 URL,请指定以下形式的 URL
代码语言:javascript
复制
http://localhost:52773/api/mgmnt

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

代码语言:javascript
复制
http://localhost:52773/api/mgmnt/v1/:namespace/restapps

其中 localhost 是服务器的名称,52773 是运行 IRISWeb 服务器端口,命名空间是要检查的命名空间。

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

%REST.API 类提供可用于发现 REST 服务类和启用 RESTWeb 应用程序的方法。

发现 REST 服务类

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

  • GetAllRESTApps()
代码语言:javascript
复制
GetAllRESTApps(Output appList As %ListOfObjects) as %Status

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

  • GetRESTApps()
代码语言:javascript
复制
GetRESTApps(namespace as %String,
            Output appList As %ListOfObjects) as %Status

以输出形式返回由命名空间指示的命名空间中的 REST 服务列表。

发现支持 RESTWeb 应用程序

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

  • GetAllWebRESTApps()
代码语言:javascript
复制
GetAllWebRESTApps(Output appList As %ListOfObjects) as %Status

返回此服务器上启用 RESTWeb 应用程序的列表作为输出。输出参数 applist%ListOfObjects 的实例,列表中的每个项目都是 %REST.Application 的实例,其中包含有关 Web 应用程序的信息。

  • GetWebRESTApps()
代码语言:javascript
复制
GetWebRESTApps(namespace as %String,
               Output appList As %ListOfObjects) as %Status

作为输出,返回由命名空间指示的命名空间中支持 RESTWeb 应用程序的列表。请参阅 GetAllWebRESTApps()

REST 服务提供文档

记录任何 API 很有用,以便开发人员可以轻松使用 API。对于遵循 OpenAPI 2.0 规范的 REST API,可以使用 Swagger 开源框架根据规范的内容为您的 API 提供交互式文档。

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

  1. 转到 https://swagger.io/tools/swagger-ui/
  2. 单击 Live Demo
  3. 在页面顶部的框中,以 JSON 格式输入 REST 服务的 OpenAPI 2.0 规范的 URL

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 /api/mgmnt 服务发现 REST 服务
    • 发现 REST 服务
      • 发现支持 REST 的 Web 应用程序
      • 使用 %REST.API 类发现 REST 服务
        • 发现 REST 服务类
          • 发现支持 REST 的 Web 应用程序
          • 为 REST 服务提供文档
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档