文章
姚 鑫 · 八月 8 阅读大约需 3 分钟

第二十一章 源代码文件 REST API 参考(三)

第二十一章 源代码文件 REST API 参考(三)

GetDocNames

此方法返回源代码文件名列表。可选的 cattype 约束源代码文件的类型。

URL

GET http://server:port/api/atelier/v1/namespace/docnames

GET http://server:port/api/atelier/v1/namespace/docnames/cat

GET http://server:port/api/atelier/v1/namespace/docnames/cat/type

其中

  • cat 指定类别代码:CLS = class; RTN = routineCSP = CSP 文件OTH = other。默认为 *
  • type 指定源代码文件类型。可以是 * 通配符或文件类型。对于 CLS,类型必须是 *。对于 RTN,类型可以是 mac、int、inc、bas 、mvi 或 mvb。对于 CSPtype 可以是 jscss 等文件类型的列表,以逗号分隔。默认为 *

URL Parameters

  • URL 参数 'generated=1' 指定应包含生成的源代码文件。
  • URL 参数 'filter' 提供了一个可用于匹配名称的 SQL 过滤器。

JSON Messages

以下是返回的内容,源代码文件描述符数组:

{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "name": "%Api.DocDB.cls",
        "cat": "CLS",
        "ts": "2016-08-03 20:01:42.000",
        "upd": true,
        "db": "IRISLIB",
        "gen": false
      },
      ...
      {
        "name": "EnsProfile.mac",
        "cat": "RTN",
        "ts": "2003-09-19 13:53:31.000",
        "upd": true,
        "db": "INVENTORYR",
        "gen": false
      },
      ...
      {
        "name": "xyz.mac",
        "cat": "RTN",
        "ts": "2016-08-11 15:05:02.167",
        "upd": false,
        "db": "INVENTORYR",
        "gen": false
      }
    ]
  }
}

HTTP 返回码

  • HTTP 200 如果正常。
  • HTTP 500 如果发生意外错误(详细信息将在状态错误数组中)。

GetModifiedDocNames

此方法返回自数据库具有指定哈希值以来已修改的源代码文件列表。它以 JSON 数组的形式传递数据库键和哈希列表。哈希值用于确定该键定义的数据库中是否有任何更改。通常,首先使用一个空数组调用此 API 作为传入的 JSON 消息。这将返回命名空间中所有源代码文件的名称以及每个文件的数据库键和哈希。然后可以发布 dbnamedbhash 以发现自上次调用以来在服务器上修改了哪些源代码文件。

发布要检查的源代码文件列表,如以下示例所示:

[ { "dbname" : "USER",
    "dbhash" : "KWAGbOdnRblPzANaiv1Oiu0BZLI" 
}, ... ]

URL

POST http://server:port/api/atelier/v1/namespace/modified/type

其中:
- type - 将源代码文件类型指定为 * 或三字母代码、ls、mac、int、inc、bas 或 mvi。默认为 *
此调用需要标头 Content-Type application/json

JSON Messages

以下是返回的内容,源代码文件描述符数组:

[ { "dbname" : "USER", 
    "dbhash" : "Qx1zuNaulq3b_1yR9ahZAfjkc-",
    "crhash" : "47763751EC",
    "docs": [{
            "name": "User.NewClass1.cls",
            "ts": "2016-01-04 14:00:04.000",
            "gen": false,
            "depl": false
            }, ... ]
   }, ... ]

如果在指定的 dbhash 之后删除了源代码文件,则在列表中返回该文件,并将时间戳设置为空字符串:

"ts": ""

如果由于映射而包含数据库并且删除了映射,则 dbhashcrhash 都将返回“000”值,并且 docs 作为空数组返回。

HTTP 返回码

  • HTTP 200 如果正常。
  • 如果发布的内容为空或类型不是 CLS,则 HTTP 400
  • 如果内容类型不是应用程序/json,则为 HTTP 415
  • HTTP 500 如果发生意外错误(详细信息将在状态错误数组中)。
0
0 19
讨论 (0)1
登录或注册以继续