0

私は使用しますgo-swagger。私は次のようなモデルを持っています:

// Pet pet
// swagger:model
type Pet struct {
    // id
    ID int64 `json:"id,omitempty"`
    // name
    // Required: true
    Name *string `json:"name"`
}

たとえば、私のPOSTフィールドNameでは必須である必要がありますが、GETでは必須ではありません。必要なく同様のモデルを作成したくない場合は、どのように追加すればよいですか? 今のところ、私の唯一の考えは作成することtype PetGET structtype PetPOST structあり、それはばかげた考えだと思います.

4

1 に答える 1

0

コードから仕様を生成している場合、PetGET と PetPOST を持つことはばかげた考えではありません。通常、プログラム モデルは API モデルと一致せず、正しい仕様を生成するためだけに定義を繰り返す必要があります。したがって、ここにはいくつかのオプションがあります。

フィールドをマークするだけrequired: falseで、GET ハンドラーで処理できます。

コードから仕様を生成している場合は、プログラム モデルとは別に、swagger のみのモデルを作成できます。このような場合は、異なる注釈を持つ 2 つのモデルを作成します。

于 2019-12-03T20:55:24.697 に答える