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 はオプションですが、created は変更できません。
  • get リクエストでは、すべてのフィールドが返されます。

欲しいものは:

  • get リクエストのすべてのフィールドを表示します。
  • put リクエストで id を必須として表示し、名と姓をオプションとして表示しますが、作成済みは表示しません。
  • 投稿リクエストで必要に応じて姓と名を表示しますが、ID と作成者は表示しません。

required=true を使用してフィールドを必須としてマークできることはわかっていますが、モデルが使用されるすべての場所で必須としてマークされます。私がこれまでに把握した唯一のことは、それ自体がパラメーターであるため、put 要求に必要な ID です。

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

0 に答える 0