如何在一些参数中选择参数,但在Swagger / PHP的其他情况下需要参数?

时间:2016-11-15 07:29:06

标签: php swagger-2.0 swagger-php

我正在使用Swagger记录PHP REST-API。所以我定义了我的数据模型。我目前的问题是,某些字段的所需状态因不同的请求类型而异。我的模型看起来像这样:

 * @SWG\Definition(required={"firstName", "lastName"})
 *
 * @SWG\Property(property="id", type="integer", example="5")
 * @property integer $id
 *
 * @SWG\Property(property="firstName", type="string", example="Test Name")
 * @property string $firstName
 *
 * @SWG\Property(property="lastName", type="string", example="Test Name")
 * @property string $lastName
 *
 * @SWG\Property(property="created", type="string", example="2016-11-15 08:05:15")
 * @property string $created
  • 在帖子请求中,firstName和lastName是必需的,而id和create是由api签名的。
  • 在put请求中,id是必需的,但是在url路径中,firstName和lastName是可选的,而创建时无法更改。
  • 在获取请求中,将返回所有字段。

想要的是:

  • 显示获取请求的所有字段。
  • 根据需要显示ID,并在put请求中显示名字和姓氏为可选项,但不显示已创建。
  • 在帖子请求中显示所需的名字和姓氏,但不显示ID并创建。

我知道我可以根据需要使用required = true标记字段,但这标记了在使用模型的任何地方都需要它们。到目前为止,我唯一想到的是put请求中的必需id,因为它是它自己的参数。

 *     @SWG\Parameter(
 *          name="id",
 *          in="path",
 *          required=true,
 *          type="integer"
 *      )

0 个答案:

没有答案