Описание API
Основное описание API ведется по стандарту OpenAPI 3.
Каждый сервис содержит собственное описание API. Документация по API является автоматически собираемой и публикуется в для каждого окружения.
Общие принципы:
Для основного API пути формируются по принципу host:port/api/v1 - где v1 указание версии API. Это необходимо для
корректного версионирования и рефакторинга в будущем и обеспечит обратную совместимость.
API построено на принципах HTTP запросов, соответствующих CRUD:
| HTTP | CRUD | Entire Collection (e.g. /tasks | Specific Item (e.g. /tasks/{id}) |
|---|---|---|---|
| POST | Create | 201 (Created), 'Location' header with link to /customers/{id} containing new ID. | 404 (Not Found), 409 (Conflict) if resource already exists.. |
| GET | Read | 200 (OK), list of customers. Use pagination, sorting and filtering to navigate big lists. | 200 (OK), single customer. 404 (Not Found), if ID not found or invalid. |
| PUT | Update/Replace | 405 (Method Not Allowed), unless you want to update/replace every resource in the entire collection. | 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid. |
| PATCH | Update/Modify | 405 (Method Not Allowed), unless you want to modify the collection itself. | 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid. |
| DELETE | Delete | 405 (Method Not Allowed), unless you want to delete the whole collection—not often desirable. | 200 (OK). 404 (Not Found), if ID not found or invalid. |
Описание внутренних VISMIND.API
Основное приложение
Сервисы
Сервисы считаются внутренней частью платформы и не доступны конечному пользователю.
- VISMIND Service.Bus API - сервис Шина.
- VISMIND Service.Dictionaries API - сервис Справочники.
- VISMIND Service.Logger API - сервис Логгер.
- VISMIND Service.Geocoder API - сервис Геокодер.
- VISMIND Service.Scheduler API - сервис Планировщик.
Формат ответов API основного приложения
Ответы API основного приложения VISMIND Backend приведены к следующему формату:
Code - системный статус-код. Если статус-код - 0, то запрос выполнен корректно. Если при обработке запроса возникла
ошибка, то вернётся код, отличный от 0;Info - текст-предупреждение или описание ошибки, если она возникла при обработке запроса;Body - содержимое ответа на запрос. В качестве ответов допускаются массивы [] и словари {}, но не допускаются
строковые, числовые и null-значения;Path - поле для работы с сервером tus.io при загрузке файлов;DeveloperInfo - техническое описание ошибки, если она возникла.