Как проверить полезную нагрузку JSON по спецификации OpenApi от Ruby? - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть полезная нагрузка HTTP-запроса, структурированная в соответствии с jsonapi.org рекомендациями:

{
  "data": {
    "type": "employee",
    "attributes": {
      "firstName": "John",
      "lastName": "Doe",
    }
  }
}

, тогда у меня есть OpenApi спецификация (yaml) этой полезной нагрузки:

employee: 
  type: object
  required: [data]
  properties:
    data:
      type: object
      properties:
        type:
          type: string
          enum: [employee]
        attributes: 
          type: object
          required: [firstName, lastName]
          properties:
            firstName:
              type: string
              example: 'John'
            lastName:
              type: string
              example: 'Doe'

и я хочу проверить полезную нагрузку в соответствии со спецификацией (из Ruby / Rails).

существует openapi3_parser gem , но, похоже, этоспособен только для проверки спецификации, а не фактической полезной нагрузки.

тогда есть десериализаторы полезной нагрузки jsonapi.org , но, похоже, они вообще не заботятся о формальной спецификации OpenApi.

Я использую OpenApi для описания полезной нагрузки, потому что я получаю документы по http API бесплатно через Swagger.

...