В сгенерированном NelmioApiBundle мои отношения отображаются как {} вместо 0.
Я использую пользовательский JMS-обработчик для отношений с объектами.(RelationHandler)
На моих отношениях я указываю специальный класс в качестве типа в данной модели (ChildRelation).Затем обработчик управляет преобразованием из Object в ID.Это прекрасно работает для JMS Serializer, но не для соответствующего документа Nelmio API Doc
Я пытался связываться с @SWG \ Schema непосредственно в ChildRelation, но это не сработало
В этом примере роль техническиобъект UserRole, который наследуется от Concrete.
## serializer/Model.DataObject.User.yml
AppBundle\Model\DataObject\User:
access_type: public_method
properties:
capabilities:
groups: [detailed, data]
type: array<string>
role:
groups: [detailed, list, data, create, update]
type: AppBundle\Model\DataObject\ChildRelation
// RelationHandler Serializer:
final class RelationsHandler implements SubscribingHandlerInterface
{
(...)
public function serializeConcreteToId(JsonSerializationVisitor $visitor, Concrete $concrete, array $type, SerializationContext $context
) {
return $concrete->getId();
}
}
Я ожидаю получить ту же модель, что и при вызове конечной точки.
{
"role": 271,
"capabilities": []
}
Но в swagger выглядит ответкак это:
{
"capabilities": [],
"role": {}
}
Есть хороший способ сделать это?