APIForNG » History » Revision 2
Revision 1 (Denis Kildishev, 01/31/2021 03:19 AM) → Revision 2/54 (Denis Kildishev, 02/01/2021 12:42 PM)
h1. APIForNG По текущей модели предполагается использование следующих методов: Для всех методов по умолчанию используется один заголовочный параметр Authorization со значением Bearer 36AC0A0F7F271314B72986EB54DB2343 1.Получение списка проектов Method: GET Path: http://localhost:9988/projects Без дополнительных параметров Пример выдачи { "success" : true, "result" : { "projects" : [ "Example", "з1", "arch", "stpo"], "count" : 7 } } Без дополнительных параметров 2. Получение содержимого проекта(иерархия), для expandable - ограниченное 1м уровнем данных по проекту Method: GET Path: http://localhost:9988/projects/{arch}[/expandable] http://localhost:9988/projects/arch[/expandable] Здесь {arch} - имя проекта, на данный момент регистрозависимо Без дополнительных параметров Пример выдачи { "success": true, "result": { "name": "arch", "nodes": [ { "uuid": "243f4afe-1d28-4652-80b9-4ad123b415a4" "name": "Documents", "type": "DocFolder", }, { "uuid": "7a5374ee-eb7a-4731-997d-5f52f00ebc2e" "name": "Requirements", "type": "Requirement", "haveChildren":"true", "children": [ { "uuid": "8ccd86e3-5689-43aa-9241-04728447e8f7", "name": "001", "type": "Requirement", "children": [], }, }, { "uuid": "ff42a6f4-f9ac-48c3-b41c-c36395df8a85", "name": "Reports", "type": "ReportFolder" } ], } } по умолчанию выдает все дерево с базовым набором из нескольких полей - уникального id uuid, отображаемого имени name, типа type и массива потомков children. поле haveChildren присутствует если у узла есть потомки и работает даже когда children не видны в режиме expandable для 2 уровня вложенности при режиме [expandable] потомки выдаются до 1 уровня вложенности 3. Получение данных по поддереву Method: GET Path: http://localhost:9988/projects/{TEST}/tree/ff42a6f4-f9ac-48c3-b41c-c36395df8a85[/expandable] http://localhost:9988/projects/TEST/tree/ff42a6f4-f9ac-48c3-b41c-c36395df8a85[/expandable] {TEST} TEST - имя проекта id после /tree это id узла для которого получается поддерево, режим /expandable работает аналогично проекту Без дополнительных параметров Пример выдачи { "success": true, "result": { "uuid": "ff42a6f4-f9ac-48c3-b41c-c36395df8a85", "name": "Reports", "type": "ReportFolder" } } Содержимое result аналогично описанию одного узла и всех его потомков[или потомков 1 уровня вложенности для expandable] в выдаче проекта 4. Получение свойств узлов Method: POST Path: http://localhost:9988/projects/TEST/getattributes/ В теле запроса передаются все uuid ы узлов для которых нужно выдать свойства. Конкретная реализация пока уточняется, текущее предположение - просто передавать в текстовом виде с разделителем ;. Возможно будут передаваться в качестве массива по аналогии с передачей данных форм. Пример "4db0fbf4-f383-4740-9d72-891ef112f742;ff42a6f4-f9ac-48c3-b41c-c36395df8a85". выдачи свойств Пример выдачи результата { "success": true, "result": { "4db0fbf4-f383-4740-9d72-891ef112f742":{ "Вид": { "value": "", "type": "STRING" }, "_index": { "value": "1", "type": "STRING" }, "_name": { "value": "Хронология", "type": "STRING" }, "_type": { "value": "Requirement", "type": "STRING" }, "_id": { "value": "001", "type": "STRING" }, "ForeignID": { "value": "1", "type": "STRING" } }, "9dffaddf-a55a-4fa1-a3bc-4a5fade4169f":{ "Вид": { "value": "Заголовок", "enumName": "Вид", "valueType": "STRING", "type": "ENUM" }, "_index": { "value": "1", "type": "STRING" }, "_tags": { "value": [ { "value": "section_Архитектура_ПО_Поток_управления" } ], "valuesType": "STRING", "type": "LIST" }, "_type": { "value": "Requirement", "type": "STRING" }, "_id": { "value": "Поток управления", "type": "STRING" }, "_description": { "value": " ", "type": "HTML" }, "ForeignID": { "value": "2", "type": "STRING" } } } } В примере выдача свойств двух узлов. Они расположены в result в виде словаря где ключ это id а значение - набор свойств узла.