2

wordnikのペットストアの例では、応答クラスのドキュメントが提供されています。/pet/{petId} エンドポイントで例を確認できます。

Pet {
    name (string, optional),
    id (integer, optional): foo,
    category (Category, optional),
    photoUrls (array[string], optional),
    tags (array[Tag], optional),
    status (string, optional) = ['available' or 'pending' or 'sold']: pet status in the store
}

次のパラメーターをサポートしているようです。

  • オプション (プロパティが常に応答に含まれるかどうかを指定するフラグ)
  • 許容値
  • 説明

ServiceStack 実装でこれを達成する方法はありますか?

4

1 に答える 1

3

バージョン 3.9.59 の時点で、ServiceStack Swagger 実装が現在サポートしているものは次のとおりです。

  • オプション: Null 許容値型のみがオプションとして記述されています。それ以外には、現在、リクエスト/レスポンス本文のどのプロパティがオプションであるかを明示的に定義するためのサポートはありません。パスまたはクエリ文字列パラメーターの場合、次を使用してオプションを制御できますApiMemberAttribute
  • 許可された値: 列挙型は、許可された値のリストを自動的に取得します。他のタイプ (たとえばstring、定義済みの値のセットを持つプロパティ) の場合、ApiAllowableValues属性でプロパティに注釈を付けます。
  • 説明:System.ComponentModel.Description属性を使用

IReturn<ResponseDtoType>リクエスト DTO がインターフェースを実装していることを確認してください。

以下は、現在の ServiceStack Swagger 実装を考えると、私が考えることができる Petstore の例におそらく最も近いものです。

public class Pet
{
    public string Name { get; set; }
    [Description("foo")]
    public int? Id { get; set; }
    public Category Category { get; set; }
    public List<string> PhotoUrls { get; set; }
    public List<Tag> Tags { get; set; }

    // If "Status" is implemented internally as a string
    [Description("pet status in the store")]
    [ApiAllowableValues("Status", "available", "pending", "sold")]
    public string Status1 { get; set; }

    // If you can implement "Status" as an enum, the allowable values
    // are instead automatically documented:
    [Description("pet status in the store")]
    public Statuses Status2 { get; set; }

    public enum Statuses { available, pending, sold }
}

オプションとしてマークされる DTO の唯一のプロパティは ですId

于 2013-09-04T00:26:56.250 に答える