Я использую документы API Nelmio для создания документации для моего REST API с использованием FOSRestBundle и JMSSerializer. Сгенерированные документы говорят, что мои объекты json на самом деле являются массивами. Как сделать так, чтобы в документации говорилось, что мои объекты являются объектами?
Я знаю под капотом, что в php эти поля на самом деле являются ассоциативными массивами ключ-значение, но в реальном json они являются объектами, и я бы хотел, чтобы моя документация отражала это.
Вот мой код
юридическое лицо:
/**
*
* Class Facility
* @package Company\Bundle\RestApiBundle\Entity
*
* @Serializer\XmlRoot("facility")
*
* @Hateoas\Relation("self", href = "expr('/facility/' ~ object.getId())")
* @Hateoas\Relation(
* "units",
* embedded = "expr(object.getUnits())"* )
* @Hateoas\Relation(
* "reviews",
* embedded = "expr(object.getReviews())"* )
*
*/
class Facility
{
...
/**
* @var
* @Serializer\Type("array")
*/
protected $amenities;
...
}
контроллер:
/**
* Resource describing the Facility object
*
* @ApiDoc(
* resource = true,
* resourceDescription="Operations on facilities.",
* description = "Facility object",
* output = "Company\Bundle\RestApiBundle\Entity\Facility",
* statusCodes = {
* 200 = "Returned when successful",
* 404 = "Returned when the resource is not found"* }
* )
*
* @param $id
* @return \Symfony\Component\HttpFoundation\Response
*
* @Method("GET")
* @Route("/{id}", name = "api_facility_get")
*/
public function getFacilityAction($id)
{
Задача ещё не решена.
Других решений пока нет …