Swagger аннотации со связанным массивом свойств
Я новичок в PHP Swagger и использую пакет Laravel L5-Swagger для создания документации для моего API. Теперь я пытаюсь разрешить одной модели содержать массив другой модели, так как Order может иметь несколько OrderItems.
К сожалению, я не могу получить ссылку на работу. Смотрите прикрепленный снимок экрана.
Что я делаю неправильно?
Это моя модель заказа:
/**
* @SWG\Definition(
* required={"order_id","order_items"},
* type="object",
* @SWG\Xml(name="Order")
* )
*/
class Order
{
/**
* @SWG\Property(example="O-789456123")
* @var string
*/
public $order_id;
/**
* @SWG\Property(type="array", items="$ref:OrderItem")
* @var array
*/
public $order_items = [];
}
Это моя модель OrderItem:
/**
* @SWG\Definition(
* required={"sku","quantity", "price_including_tax"},
* type="object",
* @SWG\Xml(name="OrderItem")
* )
*/
class OrderItem
{
/**
* @SWG\Property(example="SKU-123")
* @var string
*/
public $sku;
/**
* @SWG\Property(example=2)
* @var integer
*/
public $quantity;
/**
* @SWG\Property(example=199.75)
* @var float
*/
public $price_including_tax;
}
1 ответ
Решение
Я думаю items="$ref:OrderItem"
должно быть @SWG\Items(ref="#/definitions/OrderItem")
Ps. Проверка промежуточного формата (swagger.json) может помочь понять, что происходит не так.