0

我正在使用"darkaonline/l5-swagger": "^5.5",将 swagger 集成到我的项目中。并完成整个配置步骤。

这是我的功能

/**
 * @SWG\Get(
 *   path="/clients",
 *   summary="List clients",
 *   operationId="listClients",
 *   tags={"client"},
 *   @SWG\Response(
 *     response=200,
 *     description="A list of clients",
 *      @SWG\Schema(type="array", @SWG\Items(ref="#/definitions/Client"))
 *   ),
 *   @SWG\Response(
 *     response="default",
 *     description="an ""unexpected"" error"
 *   )
 * )
 */
public function index()
{
    $clients = Client::scope()
        ->orderBy('created_at', 'desc')
        ->withTrashed();

    if ($email = Input::get('email')) {
        $clients = $clients->whereHas('contacts', function ($query) use ($email) {
            $query->where('email', $email);
        });
    } elseif ($idNumber = Input::get('id_number')) {
        $clients = $clients->whereIdNumber($idNumber);
    }

    return $this->listResponse($clients);
}

我收到了这个错误$ref "#/definitions/Client" not found for @SWG\Items() in \App\Http\Controllers\Api\ClientApiController->index()

4

1 回答 1

-1

您需要定义看起来是您的模型的参考。

/*
 |--------------------------------------------------
 |  MODEL DEFINITIONS - (Example) - New%model%
 |--------------------------------------------------
 |  /**
 |   * @SWG\Definition(required={"name"}, definition="New%model%")
 |   *
 |  class Genre extends Eloquent
 |  {
 |      /**
 |       * @SWG\Property(example="Electronic")
 |       *
 |      public $name;
 */

这是在模型中声明的一种方式,您也可以手动定义它们。

在这里你有更多的例子:

https://github.com/zircote/swagger-php/tree/master/Examples/petstore.swagger.io/models

希望能帮助到你。

于 2017-11-28T03:55:39.203 回答