Различать в документах OpenApi, когда поле должно быть IRI или обычной строкой - PullRequest
0 голосов
/ 23 января 2020

Документы OpenApi для объекта, который включает отношения с другими объектами, просто задают string:

enter image description here

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping">
    <entity name="App\Domain\Entity\AdminAdminRole">
        <many-to-one field="admin" target-entity="App\Domain\Entity\Admin"/>
        <many-to-one field="role" target-entity="App\Domain\Entity\AdminRole"/>
    </entity>
</doctrine-mapping>

Но информация вводит в заблуждение, потому что в этом случае role и admin на самом деле являются связями с другими классами, и IRI должен быть отправлен. Что-то вроде:

{
  "role": "/api/roles/1",
  "admin": "/api/admins/245"
}

Разработчики из frontend, которые используют сгенерированные документы, чтобы узнать, как использовать API, разочарованы, потому что не сразу понятно, когда поле - это связь, и когда обычная строка должна

Есть ли способ настроить, чтобы он был включен в документацию, желательно автоматически?

...