IDL para la interfaz JSON REST / RPC

Estamos diseñando una API REST bastante compleja, en la que la mayoría de las E / S son objetos codificados JSON con una estructura específica. Un desafío que hemos encontrado es documentar la API de tal manera que sea más fácil para los clientes publicar información correcta y procesar la salida. Debido a que los datos tanto de la entrada como de la salida requieren objetos JSON bastante complejos, los desarrolladores clientes a menudo introducen errores relacionados con la estructura de los objetos de E / S.

Con todas las API web de JSON en estos días, habría esperado una solución general, pero me está costando mucho encontrar una. Miré enesquema de json que es un esquema de validación json, pero tanto el borrador de IETF como las implementaciones parecen ser bastante inmaduros (aunque han existido por un tiempo, lo que no es una buena señal).

Un enfoque ligeramente diferente es ofrecido porProtocol Buffers yApache avro, donde el esquema no se utiliza para la validación, pero en realidad es necesario para la codificación / decodificación del mensaje. De estos 2, Avro parece tener documentación e implementaciones bastante limitadas. ProtoBuf parece mejor, pero no estoy seguro de si esto es realmente adecuado para usar en el navegador para llamar a una API de JSON.

Ahora estoy empezando a dudar si estoy mirando esto desde el ángulo correcto. ¿Hay otros métodos disponibles para hacer que mi API sea un poco más fuerte? ¿O es una descripción formal de una API de REST / RPC de JSON algo que anula el propósito de usar JSON?

Edición: 6 meses después de este tema encontramos.mangosta, que está muy cerca de lo que estábamos buscando.

Respuestas a la pregunta(4)

Su respuesta a la pregunta