Project

General

Profile

Actions

API » History » Revision 4

« Previous | Revision 4/6 (diff) | Next »
Denis Kildishev, 04/22/2020 05:49 PM


API

Experimental

Test data

ed612ae4-ced3-408c-8d64-66d87981611f — id of document
5b9946fe-585c-47f6-93bb-5bb2e37a04d3 — id of new location
b7088d84-9c96-4657-abab-7690585ddd8e — id of requirement

Methods

GET
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f
get document and all locs

PUT
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/addlocation
add location to doc with id before addloc

GET
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/locations
list all locations

GET
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/contents
get contents of document and all related resourses in form of multidata
have fields
fileName — name of xhtml file
resources — list of related resources
for example, "imgs/testDoc_html_2f94255ac1355d0d.jpg", "testDoc.xhtml", "imgs/testDoc_html_6a3c8113b28c3ae7.jpg"
and several files. File with html content have name «html»

DELETE
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3
removes location

GET
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3
get location

POST
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/addfragment
BODY {
„start“:“0“,
„end“:“20“
}
adds fragment to location

POST
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/removefragment
BODY {
„start“:“0“,
„end“:“20“
}
removes fragment from location

POST
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/linkto/b7088d84-9c96-4657-abab-7690585ddd8e
add link between requirement and location

DELETE
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/linkto/b7088d84-9c96-4657-abab-7690585ddd8e
remove link between requirement and location

GET
http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f
list all resources for node

GET
http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f/subpath.xhtml
or
http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f/images/1.jpg
returns content of resource with given subpath

Old ru description
Создание проекта

Путь: http://localhost:9988/projects/{имя_проекта}
Метод: PUT
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343

Удаление проекта

Путь: http://localhost:9988/projects/{имя_проекта}
Метод: DELETE
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343

Просмотр проекта, выдает полное дерево узлов и свойств

Путь: http://localhost:9988/projects/{имя_проекта}
Метод: GET
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343

Просмотр списка определений enum

Путь: http://localhost:9988/projects/{имя_проекта}/enumDefs
Метод: GET
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343

Добавление определений enum

Путь: http://localhost:9988/projects/{имя_проекта}/enumDefs
Метод: PUT
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Body: {
"attributes":{
"3": {
"value": [ {
"value": "1"
}, {
"value": "2"
}, {
"comment"[optional]: "test",
"value": "3"
}
],
"valuesType"[optional, STRING by def]: "STRING",
"type": "ENUM_DEFINITION"
}
}
}

Переустановка определений enum(удаляет старые)
Путь: http://localhost:9988/projects/{имя_проекта}/enumDefs
Метод: POST
остальное см. выше

Получение узла со свойствами

Путь: http://localhost:9988/projects/{имя_проекта}/node
Метод: POST
Body:
Путь к узлу - qid, uvid или uuid

Получение поддерева со свойствами

Путь: http://localhost:9988/projects/{имя_проекта}/tree
Метод: POST
Body:
Путь к узлу - qid, uvid или uuid

Получение поддерева требований со свойствами (начиная с Requirements)

Путь: http://localhost:9988/projects/{имя_проекта}/tree
Метод: GET

Получение поддерева с ограничением по глубине
Путь: http://localhost:9988/projects/{имя_проекта}/tree-{глубина}
Метод: POST
Body:
Путь к узлу - qid, uvid или uuid

Установка свойств
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/attributes/
Метод: PUT
Headers:
Content-Type=application/json
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Тип данных - multipart/form-data
Body:
два вида полей - input содержит json, images содержит изображения
пример input = {
"attributes": {
"test": {
"value": "13d23",
"type": "INT"
},
"_name": {
"value": "{test} test 123"
},
"Ref": {
"type": "REFERENCE",
"value":"test"
}
"2": {
"value": [ {
"value": "001 2/001"
}, {
"value": "002/001/001"
}, {
"value": "Requirements"
}
],
"valuesType": "REFERENCE",
"type": "LIST"
},
"3val": {
"value": "1",
"enumName": "3",
"type": "ENUM"
}
}

Удаление свойств
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/attributes/
Метод: DELETE
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343

Body: //пример установки свойств {имя1}, {имя2}...
Возвращает текущий набор свойств

Удаление узла
Путь: http://localhost:9988/projects/{имя_проекта}/node
Метод: DELETE
Body:
Путь к узлу - qid, uvid или uuid
Возвращает новое поддерево с предком выбранного узла после удаления

Перемещение узла без автопереименования, вернет ошибку при совпадении id
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move
Метод: POST
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Body:
Путь к новому предку узла - qid, uvid или uuid
Возвращает новое поддерево с предком выбранного узла после перемещения

Перемещение узла с автопереименованием
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move-rename
Метод: POST
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Body:
Путь к новому предку узла - qid, uvid или uuid
Возвращает новое поддерево с предком выбранного узла после перемещения

Перемещение узла после указанного с автопереименованием
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move-after
Метод: POST
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Body:
Путь к узлу в место после которого должен переместиться {uuid_узла} - qid, uvid или uuid
Возвращает новое поддерево с предком выбранного узла после перемещения

Получение идентефикаторов
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/id
Метод: GET
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Возвращает id, qid, uvid

Переименование узла
Путь: http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/id
Метод: PUT
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Body:
Новый id
Возвращает новые id, qid, uvid

Создание узла
Путь: http://localhost:9988/projects/{имя_проекта}/create
Метод: PUT
Headers:
Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
Тип данных - multipart/form-data
Body:
два вида полей - input содержит json, images содержит изображения

пример input = {
"parent": "516bbbbc-babf-45d6-a146-61db334411be",
"type":"Requirement",
"id":"002",
"attributes":{
"test": {
"value": "13d23",
"type": "INT"
},
"_name": {
"value": "{test} test 123"
},
"Ref": {
"type": "REFERENCE",
"value":"test"
},
"_description": {
"value":"test desc <img src='strange.png' alt='strange.xcf'/>", "type":"HTML"
}
}
}

Идентефикатор("id") опционален

Примеры выдачи:
Список ссылок
2: {
"valuesType": "REFERENCE",
"value": [ {
"nodes": [
"71f2c6d9-aa54-4293-95d4-ed0d50fba6c1"
],
"value": "001 2/001"
}, {
"value": "*Missing: '002/001/001'"
}, {
"nodes": [
"516bbbbc-babf-45d6-a146-61db334411be"
],
"value": "Requirements"
}
],
"type": "LIST"
},

Ссылка с ошибкой
1: {
"value": "*Missing: '002/001/001'",
"type": "REFERENCE"
},

enum def(GET http://localhost:9988/projects/{проект}/enumDefs) {
"success": true,
"result": {
"attributes": {
3: {
"value": [ {
"comment": null,
"value": "1"
}, {
"comment": null,
"value": "2"
}, {
"comment": null,
"value": "3"
}
],
"valuesType": "INT",
"type": "ENUM_DEFINITION"
}
}
}
}

Enum value, значение должно содержаться в enum def с именем enumName

"3Value": {
"type": "ENUM",
"enumName": "3",
"value": "1"
},

Updated by Denis Kildishev about 4 years ago · 4 revisions