Шаблон документации API для JSON-RPC и образец заполнения
Ниже приведен пример заполнения документации API для протокола JSON-RPC. Шаблон документа доступен для скачивания тут.
getBanners
Метод для получение списка баннеров. Можно получить баннеры указанной категории и с указанным типом видимости баннера для пользователей.
Аутентификация
Для доступа к API требуется аутентификация. Используйте Bearer Token для аутентификации всех запросов. Токен передается в заголовке `Authorization`.
Общие сведения о контракте
| Протокол передачи данных | HTTP/1.1 |
| Тип взаимодействия | JSON-RPC |
| HTTP глагол | POST |
| Версия JSON-RPC | 2.0 |
| Content-Type | application/json |
| URL-адрес | http://api.example.com/jsonrpc |
Параметры запроса (params)
| Параметр | Тип данных | Описание | Обязательный |
| bannerCategory | String | Категория запрашиваемых баннеров. Доступно несколько значений:Категория 1Категория 2Категория 3 Если не заполнять, в ответе вернется список баннеров всех категорий. | Нет |
| isVisible | Boolean | Признак видимости баннера для пользователя. По умолчанию возвращаются все баннеры. | Нет |
Формат успешного ответа (result)
| Параметр | Тип данных | Описание |
| id | Integer | Идентификатор экземпляра записи |
| title | String | Заголовок баннера |
| mainText | String | Основной текст баннера |
| image | String | Ссылка на картинку |
| bannerCategory | String | Категория беннера |
| isVisible | Boolean | Признак видимости баннера для пользователя |
| link | String | Ссылка на страницу для перехода по клику на баннер |
Обрабатываемые ошибки (error)
| HTTP-код | JSON-RPC code | message | Описание |
| 400 | -32600 | Invalid Request | Неверный формат запроса |
| 404 | -32601 | Method not found | Метод не найден |
| 400 | -32602 | Invalid params | Неверные параметры |
| 500 | -32603 | Internal error | Внутренняя ошибка сервера |
Пример запроса и ответа
Запрос
{ "jsonrpc":"2.0", "id": "1", "method":"getBanners", "params": { “bannerCategory”: "Категория 1", “isVisible”: true } }
Успешный ответ
{ "jsonrpc": "2.0", "id": "1", "result": [ { "id": 1, "title": "Заголовок баннера", "mainText": "Основной текст баннера", "image": "https://example.com/banners/banner1.jpg", "bannerCategory": "Категория 1", "isVisible": true, "link": "https://example.com/banners/banner1" } ] }
Ответ с ошибкой
{ "jsonrpc": "2.0", "id": "1", "error": { "code": -32600, "message": "Invalid Request" } }
Сопоставление параметров метода с базой данных
Параметры запроса
| Параметр метода | Параметр БД |
| bannerCategory | banner.category |
| isVisible | banner.is_visible |
Параметры ответа
| Параметр метода | Параметр БД |
| id | banner.id |
| title | banner.title |
| mainText | banner.main_text |
| image | banner.image |
| bannerCategory | banner.banner_category |
| isVisible | banner.is_visible |
| link | banner.link |
Другие шаблоны
Шаблон документации для API REST и пример заполнения опубликованы тут
Может быть у вас есть примеры шаблонов получше?
Опубликовано 27 августа 2024
Просмотров: 957

Вместо комментариев