REST Conventions
HTTP методы
| Метод | Назначение |
|---|---|
| GET | Чтение ресурса |
| POST | Создание ресурса |
| PUT | Полная замена |
| PATCH | Частичное обновление |
| DELETE | Удаление |
Именование ресурсов
- Только существительные
- Во множественном числе
- lower-kebab-case
Пример: /policies /policies/{policyId} /policies/{policyId}/payments
markdown Копировать код
Вложенные ресурсы
Допускаются, если:
- Подчинённый ресурс не существует отдельно
- Есть строгая иерархия
Запрещено
- Глаголы в URL
- RPC-style endpoints
- Логика в query-параметрах
Стандартные типы данных
| Тип данных | Пример | Ссылка |
|---|---|---|
| Date | 2025-02-22 | ISO 8601 |
| DateTime | 2025-02-22T12:07:17Z (UTC) | ISO 8601 |
| Duration | P12M, P16D | ISO 8601 |
| Код страны | RU, US, DE | ISO 3166 alpha-2 |
| Код валюты | RUB, USD, EUR | ISO 4217 |
JSON
Соглашение о наименованиях
- Использовать английский
- Использовать camelCase
- Прежде чем придумать название, посмотри в CDM
- Атрибуты со значением
nullдолжны быть опущены. - Массивы и объекты не должны принимать значение
null. Следует использовать[],{}.