要获取有关命名空间中源代码文件的信息:
GetDocNames
方法获取文件的名称。GetDoc
方法获取一个文件的内容,也可以用GetDocs
方法获取多个文件的内容。GetModifiedDocNames
方法仅获取内容发生变化的源代码文件的名称或使用带有 If-None-Match HTTP
标头的 GetDoc
方法。GetDocNames
方法返回映射到命名空间的所有数据库中的所有源代码文件的名称。
{
"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
}
]
}
}
以下 GetDoc
调用返回 xyz.mac
文件的内容:
http://localhost:52773/api/atelier/v1/INVENTORY/doc/xyz.mac
此调用返回:
{
"status": {
"errors": [],
"summary": ""
},
"console": [],
"result": {
"name": "xyz.mac",
"db": "INVENTORYR",
"ts": "2016-09-14 14:10:16.540",
"upd": false,
"cat": "RTN",
"status": "",
"enc": false,
"flags": 0,
"content": [
"ROUTINE xyz",
"xyz ;",
" w \"hello\""
]
}
}
要在命名空间中创建新文件或更新现有文件,请使用 PutDoc
方法。例如,以下 REST
调用在 INVENTORY
命名空间中创建一个新的 xyz.mac
源代码文件,或者,如果 xyz.mac
文件存在,则此调用将文件的原始定义替换为新定义。如果要更新新文件,则必须指定 HTTP
标头 If-None-Match
以标识文件的当前版本,或指定 ?ignoreConflict=1 URL
参数以绕过版本检查。有关详细信息,请参阅参考部分中的 PutDoc
。
PUT http://localhost:52773/api/atelier/v1/INVENTORY/doc/xyz.mac
应该指定 Content-Type application/json
和以下 JSON
消息:
{
"enc": false,
"content": [
"ROUTINE xyz",
"xyz ;",
" w \"hello\""
]
}
该调用返回以下 JSON
消息。它显示源代码文件已在 INVENTORYR
数据库中创建,该数据库是 INVENTORY
命名空间中例程的默认数据库。
{
"status": {
"errors": [],
"summary": ""
},
"console": [],
"result": {
"name": "xyz.mac",
"db": "INVENTORYR",
"ts": "2016-09-14 14:10:16.540",
"upd": false,
"cat": "RTN",
"status": "",
"enc": false,
"flags": 0,
"content": []
}
}
如果要更新或创建二进制文件,请为 enc
指定一个真值,并将二进制内容作为二进制值的 base64
编码的块数组包含在内。