2

我是 PHP Swagger 的新手,我使用 Laravel 包L5-Swagger为我的 API 创建文档。现在我试图让一个模型包含另一个模型的数组,一个订单可以有多个订单项。

不幸的是,我无法使链接正常工作。请参阅随附的屏幕截图。

在此处输入图像描述

我究竟做错了什么?

这是我的订单模型:

/**
 * @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;
}
4

1 回答 1

2

我认为items="$ref:OrderItem"应该是@SWG\Items(ref="#/definitions/OrderItem")

附言。检查中间格式(swagger.json)可以深入了解问题所在。

于 2018-02-18T20:27:51.337 回答