3

我正在用 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 和 created 由 api 分配。
  • 在 put 请求 id 是必需的,但在 url 路径和 firstName 和 lastName 是可选的,而创建时不能更改。
  • 在获取请求时,所有字段都将返回。

想要的是:

  • 显示获取请求的所有字段。
  • 根据需要显示 id,并在 put 请求上显示名字和姓氏作为可选,但不显示已创建。
  • 根据发布请求的要求显示名字和姓氏,但不显示 id 和 created。

我知道我可以使用 required=true 将字段标记为必填字段,但这会将它们标记为在使用模型的任何地方都是必需的。到目前为止,我唯一想到的是 put 请求中所需的 id,因为它本身就是一个参数。

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

0 回答 0