API » History » Version 4
Denis Kildishev, 04/22/2020 05:49 PM
1 | 1 | Denis Kildishev | h1. API |
---|---|---|---|
2 | |||
3 | h2. Experimental |
||
4 | |||
5 | h3. Test data |
||
6 | |||
7 | ed612ae4-ced3-408c-8d64-66d87981611f — id of document |
||
8 | 5b9946fe-585c-47f6-93bb-5bb2e37a04d3 — id of new location |
||
9 | b7088d84-9c96-4657-abab-7690585ddd8e — id of requirement |
||
10 | |||
11 | h3. Methods |
||
12 | |||
13 | 2 | Denis Kildishev | GET |
14 | http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f |
||
15 | get document and all locs |
||
16 | |||
17 | 1 | Denis Kildishev | PUT |
18 | http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/addlocation |
||
19 | add location to doc with id before addloc |
||
20 | |||
21 | GET |
||
22 | http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/locations |
||
23 | list all locations |
||
24 | |||
25 | GET |
||
26 | http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/contents |
||
27 | get contents of document and all related resourses in form of multidata |
||
28 | have fields |
||
29 | *fileName* — name of xhtml file |
||
30 | *resources* — list of related resources |
||
31 | for example, "imgs/testDoc_html_2f94255ac1355d0d.jpg", "testDoc.xhtml", "imgs/testDoc_html_6a3c8113b28c3ae7.jpg" |
||
32 | and several files. File with html content have name «html» |
||
33 | |||
34 | DELETE |
||
35 | http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3 |
||
36 | removes location |
||
37 | |||
38 | 2 | Denis Kildishev | GET |
39 | http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3 |
||
40 | get location |
||
41 | |||
42 | 1 | Denis Kildishev | POST |
43 | http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/addfragment |
||
44 | BODY |
||
45 | { |
||
46 | 2 | Denis Kildishev | „start“:“0“, |
47 | „end“:“20“ |
||
48 | 1 | Denis Kildishev | } |
49 | adds fragment to location |
||
50 | |||
51 | |||
52 | POST |
||
53 | http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/removefragment |
||
54 | BODY |
||
55 | { |
||
56 | 2 | Denis Kildishev | „start“:“0“, |
57 | „end“:“20“ |
||
58 | 1 | Denis Kildishev | } |
59 | removes fragment from location |
||
60 | |||
61 | |||
62 | |||
63 | POST |
||
64 | http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/linkto/b7088d84-9c96-4657-abab-7690585ddd8e |
||
65 | add link between requirement and location |
||
66 | |||
67 | DELETE |
||
68 | http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/linkto/b7088d84-9c96-4657-abab-7690585ddd8e |
||
69 | remove link between requirement and location |
||
70 | 3 | Denis Kildishev | |
71 | GET |
||
72 | http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f |
||
73 | list all resources for node |
||
74 | |||
75 | GET |
||
76 | http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f/subpath.xhtml |
||
77 | or |
||
78 | http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f/images/1.jpg |
||
79 | returns content of resource with given subpath |
||
80 | 4 | Denis Kildishev | |
81 | |||
82 | h2. Old ru description |
||
83 | Создание проекта |
||
84 | |||
85 | Путь: http://localhost:9988/projects/{имя_проекта} |
||
86 | Метод: PUT |
||
87 | Headers: |
||
88 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
89 | |||
90 | Удаление проекта |
||
91 | |||
92 | Путь: http://localhost:9988/projects/{имя_проекта} |
||
93 | Метод: DELETE |
||
94 | Headers: |
||
95 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
96 | |||
97 | Просмотр проекта, выдает полное дерево узлов и свойств |
||
98 | |||
99 | Путь: http://localhost:9988/projects/{имя_проекта} |
||
100 | Метод: GET |
||
101 | Headers: |
||
102 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
103 | |||
104 | Просмотр списка определений enum |
||
105 | |||
106 | Путь: http://localhost:9988/projects/{имя_проекта}/enumDefs |
||
107 | Метод: GET |
||
108 | Headers: |
||
109 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
110 | |||
111 | |||
112 | Добавление определений enum |
||
113 | |||
114 | Путь: http://localhost:9988/projects/{имя_проекта}/enumDefs |
||
115 | Метод: PUT |
||
116 | Headers: |
||
117 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
118 | Body: |
||
119 | { |
||
120 | "attributes":{ |
||
121 | "3": { |
||
122 | "value": [ |
||
123 | { |
||
124 | "value": "1" |
||
125 | }, |
||
126 | { |
||
127 | "value": "2" |
||
128 | }, |
||
129 | { |
||
130 | "comment"[optional]: "test", |
||
131 | "value": "3" |
||
132 | } |
||
133 | ], |
||
134 | "valuesType"[optional, STRING by def]: "STRING", |
||
135 | "type": "ENUM_DEFINITION" |
||
136 | } |
||
137 | } |
||
138 | } |
||
139 | |||
140 | Переустановка определений enum(удаляет старые) |
||
141 | Путь: http://localhost:9988/projects/{имя_проекта}/enumDefs |
||
142 | Метод: POST |
||
143 | остальное см. выше |
||
144 | |||
145 | |||
146 | Получение узла со свойствами |
||
147 | |||
148 | Путь: http://localhost:9988/projects/{имя_проекта}/node |
||
149 | Метод: POST |
||
150 | Body: |
||
151 | Путь к узлу - qid, uvid или uuid |
||
152 | |||
153 | Получение поддерева со свойствами |
||
154 | |||
155 | Путь: http://localhost:9988/projects/{имя_проекта}/tree |
||
156 | Метод: POST |
||
157 | Body: |
||
158 | Путь к узлу - qid, uvid или uuid |
||
159 | |||
160 | Получение поддерева требований со свойствами (начиная с Requirements) |
||
161 | |||
162 | Путь: http://localhost:9988/projects/{имя_проекта}/tree |
||
163 | Метод: GET |
||
164 | |||
165 | Получение поддерева с ограничением по глубине |
||
166 | Путь: http://localhost:9988/projects/{имя_проекта}/tree-{глубина} |
||
167 | Метод: POST |
||
168 | Body: |
||
169 | Путь к узлу - qid, uvid или uuid |
||
170 | |||
171 | Установка свойств |
||
172 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/attributes/ |
||
173 | Метод: PUT |
||
174 | Headers: |
||
175 | Content-Type=application/json |
||
176 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
177 | Тип данных - multipart/form-data |
||
178 | Body: |
||
179 | два вида полей - input содержит json, images содержит изображения |
||
180 | пример input = |
||
181 | { |
||
182 | "attributes": { |
||
183 | "test": { |
||
184 | "value": "13d23", |
||
185 | "type": "INT" |
||
186 | }, |
||
187 | "_name": { |
||
188 | "value": "{test} test 123" |
||
189 | }, |
||
190 | "Ref": { |
||
191 | "type": "REFERENCE", |
||
192 | "value":"test" |
||
193 | } |
||
194 | "2": { |
||
195 | "value": [ |
||
196 | { |
||
197 | "value": "001 2/001" |
||
198 | }, |
||
199 | { |
||
200 | "value": "002/001/001" |
||
201 | }, |
||
202 | { |
||
203 | "value": "Requirements" |
||
204 | } |
||
205 | ], |
||
206 | "valuesType": "REFERENCE", |
||
207 | "type": "LIST" |
||
208 | }, |
||
209 | "3val": { |
||
210 | "value": "1", |
||
211 | "enumName": "3", |
||
212 | "type": "ENUM" |
||
213 | } |
||
214 | } |
||
215 | |||
216 | Удаление свойств |
||
217 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/attributes/ |
||
218 | Метод: DELETE |
||
219 | Headers: |
||
220 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
221 | |||
222 | Body: //пример установки свойств |
||
223 | {имя1}, {имя2}... |
||
224 | Возвращает текущий набор свойств |
||
225 | |||
226 | Удаление узла |
||
227 | Путь: http://localhost:9988/projects/{имя_проекта}/node |
||
228 | Метод: DELETE |
||
229 | Body: |
||
230 | Путь к узлу - qid, uvid или uuid |
||
231 | Возвращает новое поддерево с предком выбранного узла после удаления |
||
232 | |||
233 | Перемещение узла без автопереименования, вернет ошибку при совпадении id |
||
234 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move |
||
235 | Метод: POST |
||
236 | Headers: |
||
237 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
238 | Body: |
||
239 | Путь к новому предку узла - qid, uvid или uuid |
||
240 | Возвращает новое поддерево с предком выбранного узла после перемещения |
||
241 | |||
242 | Перемещение узла с автопереименованием |
||
243 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move-rename |
||
244 | Метод: POST |
||
245 | Headers: |
||
246 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
247 | Body: |
||
248 | Путь к новому предку узла - qid, uvid или uuid |
||
249 | Возвращает новое поддерево с предком выбранного узла после перемещения |
||
250 | |||
251 | Перемещение узла после указанного с автопереименованием |
||
252 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move-after |
||
253 | Метод: POST |
||
254 | Headers: |
||
255 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
256 | Body: |
||
257 | Путь к узлу в место после которого должен переместиться {uuid_узла} - qid, uvid или uuid |
||
258 | Возвращает новое поддерево с предком выбранного узла после перемещения |
||
259 | |||
260 | Получение идентефикаторов |
||
261 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/id |
||
262 | Метод: GET |
||
263 | Headers: |
||
264 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
265 | Возвращает id, qid, uvid |
||
266 | |||
267 | Переименование узла |
||
268 | Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/id |
||
269 | Метод: PUT |
||
270 | Headers: |
||
271 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
272 | Body: |
||
273 | Новый id |
||
274 | Возвращает новые id, qid, uvid |
||
275 | |||
276 | Создание узла |
||
277 | Путь: http://localhost:9988/projects/{имя_проекта}/create |
||
278 | Метод: PUT |
||
279 | Headers: |
||
280 | Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343 |
||
281 | Тип данных - multipart/form-data |
||
282 | Body: |
||
283 | два вида полей - input содержит json, images содержит изображения |
||
284 | |||
285 | пример input = |
||
286 | { |
||
287 | "parent": "516bbbbc-babf-45d6-a146-61db334411be", |
||
288 | "type":"Requirement", |
||
289 | "id":"002", |
||
290 | "attributes":{ |
||
291 | "test": { |
||
292 | "value": "13d23", |
||
293 | "type": "INT" |
||
294 | }, |
||
295 | "_name": { |
||
296 | "value": "{test} test 123" |
||
297 | }, |
||
298 | "Ref": { |
||
299 | "type": "REFERENCE", |
||
300 | "value":"test" |
||
301 | }, |
||
302 | "_description": { |
||
303 | "value":"test desc <img src='strange.png' alt='strange.xcf'/>", "type":"HTML" |
||
304 | } |
||
305 | } |
||
306 | } |
||
307 | |||
308 | Идентефикатор("id") опционален |
||
309 | |||
310 | Примеры выдачи: |
||
311 | Список ссылок |
||
312 | 2: { |
||
313 | "valuesType": "REFERENCE", |
||
314 | "value": [ |
||
315 | { |
||
316 | "nodes": [ |
||
317 | "71f2c6d9-aa54-4293-95d4-ed0d50fba6c1" |
||
318 | ], |
||
319 | "value": "001 2/001" |
||
320 | }, |
||
321 | { |
||
322 | "value": "*Missing: '002/001/001'" |
||
323 | }, |
||
324 | { |
||
325 | "nodes": [ |
||
326 | "516bbbbc-babf-45d6-a146-61db334411be" |
||
327 | ], |
||
328 | "value": "Requirements" |
||
329 | } |
||
330 | ], |
||
331 | "type": "LIST" |
||
332 | }, |
||
333 | |||
334 | Ссылка с ошибкой |
||
335 | 1: { |
||
336 | "value": "*Missing: '002/001/001'", |
||
337 | "type": "REFERENCE" |
||
338 | }, |
||
339 | |||
340 | enum def(GET http://localhost:9988/projects/{проект}/enumDefs) |
||
341 | { |
||
342 | "success": true, |
||
343 | "result": { |
||
344 | "attributes": { |
||
345 | 3: { |
||
346 | "value": [ |
||
347 | { |
||
348 | "comment": null, |
||
349 | "value": "1" |
||
350 | }, |
||
351 | { |
||
352 | "comment": null, |
||
353 | "value": "2" |
||
354 | }, |
||
355 | { |
||
356 | "comment": null, |
||
357 | "value": "3" |
||
358 | } |
||
359 | ], |
||
360 | "valuesType": "INT", |
||
361 | "type": "ENUM_DEFINITION" |
||
362 | } |
||
363 | } |
||
364 | } |
||
365 | } |
||
366 | |||
367 | Enum value, значение должно содержаться в enum def с именем enumName |
||
368 | |||
369 | "3Value": { |
||
370 | "type": "ENUM", |
||
371 | "enumName": "3", |
||
372 | "value": "1" |
||
373 | }, |