Я пытаюсь разработать 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
Спасибо за помощь
С уважением