Api-платформа Swagger вопрос - PullRequest
       25

Api-платформа Swagger вопрос

0 голосов
/ 22 сентября 2018

Я пытаюсь разработать API, используя api-платформу, и у меня возникли проблемы с документированной документацией.

Чтобы проиллюстрировать мою проблему, я создал новый проект с двумя базовыми объектами, представленными в официальной документации: https://api -platform.com / docs / distribution .

Мне нужна полная вложенная объектная книга при вызове ресурса GET для обзоров и использование IRI при вызове POST, поэтому я использую группы сериализации, как описано здесь:

https://api -platform.com / docs / core / serialization

Кажется, API работает, как и ожидалось, когда я пытаюсь POST:

{
    "book": {
        "id": 1
    },
    "rating": 5,
    "body": "Interesting book!",
    "author": "Kévin",
    "publicationDate": "September 21, 2016"
}

Получил эту ошибку: вложенные документы для атрибута \ "книга \" не допускаются.Вместо этого используйте IRI С помощью iri, такого как / api / books / 1 рецензия создана.

Но swagger doc сводит меня с ума:

Для GET / api / reviews все в порядке с полным объектом книги:

[
  {
    "id": 0,
    "rating": 0,
    "body": "string",
    "author": "string",
    "publicationDate": "2018-09-22T12:51:42.454Z",
    "book": {
      "id": 0,
      "isbn": "string",
      "title": "string",
      "description": "string",
      "author": "string",
      "publicationDate": "2018-09-22T12:51:42.454Z",
      "reviews": [
        null
      ]
    }
  }
]

Но для POST есть пустой объект, и я ожидал IRI:

{
  "rating": 0,
  "body": "string",
  "author": "string",
  "publicationDate": "2018-09-22T12:51:42.483Z",
  "book": {}
}

Я тоже попробовал аннотацию ApiProperty (), чтобы заставить документ без успеха ..

Если я удалю свою группу по нормализации и денормализации, документация верна, я что-то упустил или делаю что-то не так с моими группами?

Вот полный код:

https://github.com/lwillems/api-platform-test

Спасибо за помощь

С уважением

...