Project

General

Profile

APIForNG » History » Version 1

Denis Kildishev, 01/31/2021 03:19 AM

1 1 Denis Kildishev
h1. APIForNG
2
По текущей модели предполагается использование следующих методов:
3
4
1.Получение списка проектов
5
Method:
6
GET
7
Path:
8
http://localhost:9988/projects
9
{
10
  "success" : true,
11
  "result" : {
12
    "projects" : [ "Example", "з1", "arch", "stpo"],
13
    "count" : 7
14
  }
15
}
16
17
2. Получение данных по проекту 
18
Method:
19
GET
20
Path:
21
http://localhost:9988/projects/arch[/expandable]
22
{
23
"success": true,
24
"result": {
25
"name": "arch",
26
"nodes": [
27
  {
28
"uuid": "243f4afe-1d28-4652-80b9-4ad123b415a4"
29
"name": "Documents",
30
"type": "DocFolder",
31
32
},
33
  {
34
"uuid": "7a5374ee-eb7a-4731-997d-5f52f00ebc2e"
35
"name": "Requirements",
36
"type": "Requirement",
37
"haveChildren":"true",
38
"children": [
39
  {
40
"uuid": "8ccd86e3-5689-43aa-9241-04728447e8f7",
41
"name": "001",
42
"type": "Requirement",
43
"children": [],
44
},
45
},
46
  {
47
"uuid": "ff42a6f4-f9ac-48c3-b41c-c36395df8a85",
48
"name": "Reports",
49
"type": "ReportFolder"
50
}
51
],
52
}
53
}
54
по умолчанию выдает все дерево с базовым набором из нескольких полей - уникального id uuid, отображаемого имени name, типа type и массива потомков children. 
55
поле haveChildren присутствует если у узла есть потомки и работает даже когда children не видны в режиме expandable для 2 уровня вложенности
56
при режиме [expandable] потомки выдаются до 1 уровня вложенности
57
58
3. Получение данных по поддереву
59
Method:
60
GET
61
Path:
62
http://localhost:9988/projects/TEST/tree/ff42a6f4-f9ac-48c3-b41c-c36395df8a85[/expandable]
63
TEST - имя проекта
64
id после /tree это id узла для которого получается поддерево, режим /expandable работает аналогично проекту
65
Пример выдачи
66
{
67
"success": true,
68
"result": {
69
"uuid": "ff42a6f4-f9ac-48c3-b41c-c36395df8a85",
70
"name": "Reports",
71
"type": "ReportFolder"
72
}
73
}
74
Содержимое result аналогично описанию одного узла и всех его потомков[или потомков 1 уровня вложенности для expandable] в выдаче проекта
75
76
4. Получение свойств узлов
77
Method:
78
POST
79
Path:
80
http://localhost:9988/projects/TEST/getattributes/
81
В теле запроса передаются все uuid ы узлов для выдачи свойств
82
Пример результата
83
{
84
"success": true,
85
"result": {
86
"4db0fbf4-f383-4740-9d72-891ef112f742":{
87
"Вид": {
88
"value": "",
89
"type": "STRING"
90
},
91
"_index": {
92
"value": "1",
93
"type": "STRING"
94
},
95
"_name": {
96
"value": "Хронология",
97
"type": "STRING"
98
},
99
"_type": {
100
"value": "Requirement",
101
"type": "STRING"
102
},
103
"_id": {
104
"value": "001",
105
"type": "STRING"
106
},
107
"ForeignID": {
108
"value": "1",
109
"type": "STRING"
110
}
111
},
112
"9dffaddf-a55a-4fa1-a3bc-4a5fade4169f":{
113
"Вид": {
114
"value": "Заголовок",
115
"enumName": "Вид",
116
"valueType": "STRING",
117
"type": "ENUM"
118
},
119
"_index": {
120
"value": "1",
121
"type": "STRING"
122
},
123
"_tags": {
124
"value": [
125
  {
126
"value": "section_Архитектура_ПО_Поток_управления"
127
}
128
],
129
"valuesType": "STRING",
130
"type": "LIST"
131
},
132
"_type": {
133
"value": "Requirement",
134
"type": "STRING"
135
},
136
"_id": {
137
"value": "Поток управления",
138
"type": "STRING"
139
},
140
"_description": {
141
"value": " ",
142
"type": "HTML"
143
},
144
"ForeignID": {
145
"value": "2",
146
"type": "STRING"
147
}
148
}
149
}
150
}
151
152
В примере выдача свойств двух узлов. Они расположены в result в виде словаря где ключ это id а значение - набор свойств узла.