Правильный Json Api Или Json Rpc.



Что такое JSON API? Наверняка многие знают. JSON — Текстовый формат обмена данными JSON API — Интерфейс прикладного программного обеспечения API Ключевые слова здесь: интерфейс обмена данными.



Что же такое JSON-RPC?

JSON - мы уже знаем.

ПКП - удаленный вызов процедур ПКП Приходим к выводу, что JSON-RPC — это: удаленный обмен данными.

Наверняка этот обмен данными будет происходить с каким-то интерфейсом, т.е.

с API. И в чем проблема?! Ты спрашиваешь.

Проблема в том, что некоторые программисты при разработке JSON API, то есть интерфейса, забывают о JSON-RPC. И начинается очередное изобретение колеса.

Frontend-программист говорит: «Я вам дам такой-то json», а Backend-программист отвечает: «А я вам верну такой-то json».

И всё бы ничего, но хорошо бы помнить, что умные люди уже давно разработали стандарты, а точнее протоколы обмена данными.

И не какие-то сверхсложные, а очень простые: JSON-RPC Наверное, многие, если не почти все, знают и даже используют эти протоколы.

Написана куча серверов и т. д. Но лично меня не всё устраивает в существующих протоколах.

Они мне показались недостаточно гибкими и не логичными во всем.

Как вы уже догадались, я решил изобрести свой велосипед. json-rpc-1.5

Основные отличия от существующих протоколов:

  • Необязательный параметр «подпись» — подпись или токен.

  • В запросах вместо параметра «param» используется параметр «data», потому что мы всегда отправляем данные, а не только параметры.

  • Все ответы всегда возвращают параметр «result» и содержат описание результата запроса «успех» или «ошибка».

  • Все данные в ответах поступают в параметр data.
  • Вы можете использовать псевдонимы для именования параметров запроса и ответа.

Может показаться.

что различия незначительны, но они принципиально важны.

Кстати, этот протокол появился на практике, т.е.

при создании json api я использовал подход, описанный в этом протоколе.



ПС:

Получив кучу негативных комментариев и минусов, решил еще раз проверить, может, я действительно что-то делаю не так? Естественно, все, что я здесь пишу, является моим личным мнением и я никому ничего не навязываю.

Позвольте мне привести вам пару примеров: 1. Пример запроса JSON API Яндекс Директ :

   

{ "method": "GetClientInfo", "param": ["agrom"], "locale": "ru", "token": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f" }

Вы также можете прочитать о токенах здесь: Токены авторизации 2. Пример из API Сбербанка Оплата из мобильного приложения с помощью Apple Pay JSON-запрос приводить не буду, он большой, посмотреть можно по ссылке.

Важно, чтобы JSON-запрос содержал «PaymentToken».

Вот ссылка на требования для генерации токена от Apple. Важно понимать, что токены и подписи в API часто используются, естественно, наряду с другими методами безопасности.

И те, кто работает с разного рода API, это прекрасно знают. Теги: #программирование #api #api json rpc

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.