IDL для интерфейса JSON REST / RPC

Мы разрабатываем довольно сложный REST API, в котором большинство операций ввода-вывода представляют собой объекты в кодировке JSON с определенной структурой. Одна из найденных нами проблем заключается в том, чтобы документировать API таким образом, чтобы клиентам было проще размещать корректный ввод и обрабатывать вывод. Поскольку данные как для ввода, так и для вывода требуют довольно сложных объектов JSON, разработчики клиента часто вносят ошибки, связанные со структурой объектов ввода / вывода.

Учитывая все эти веб-API JSON, я бы надеялся на общее решение, но мне трудно найти его. Я смотрел вJSON-схема которая является схемой проверки json, но и черновик IETF, и реализации кажутся довольно незрелыми (даже если они существуют уже некоторое время, что не является хорошим знаком).

Несколько иной подход предлагаетБуферы протокола а такжеАпач Аврогде схема не используется для проверки, но фактически требуется для кодирования / декодирования сообщения. Из этих 2 Avro, кажется, имеет довольно ограниченную документацию и реализации. ProtoBuf кажется лучше, но я не уверен, действительно ли это подходит для использования в браузере для вызова API JSON?

Теперь я начинаю сомневаться, смотрю ли я на это под прямым углом. Есть ли другие способы сделать мой API более строгим? Или формальное описание API-интерфейса REST / RPC JSON противоречит цели использования JSON?

Изменить: через 6 месяцев после этой темы мы нашлимангуста, что очень близко к тому, что мы искали.

Ответы на вопрос(4)

Ваш ответ на вопрос