1

私はServiceStackを使用しており、次のようなルートを持っています:

[Route("/hello/{Name*}")]

したがって、次のようなもの/hello/some/parametersはすべて処理する必要があります。
Swagger は次の URL を使用します: /hello/{Name*}Name パラメーターに指定した値に関係なく、[試してみる] ボタンをクリックすると、次のメッセージが表示されます。

次の ApiMember 属性を使用していることに注意してください。

[ApiMember(Name = "Params", DataType = "string", ParameterType = "path" , IsRequired = true)]

それでも、入力したテキストは * で上書きされ、上記のエラーが発生します。

これに対する回避策はありますか?

4

1 に答える 1

3

まず、Swagger呼び出しがパス/リクエストでデフォルト値の{Name *}を使用しているため、エラーが発生しています。(*)はURLのパスでは許可されていません。ServiceStackクラスで正しい属性を使用することにより、SwaggerUI内に独自の値を入力するためのテキストボックスを取得できるようになります。

以下のようなもので、テキストボックスが表示されます。例については、 https://github.com/ServiceStack/ServiceStack.UseCases/tree/master/SwaggerHelloWorldを参照してください。

public class Hello {
  [ApiMember(Name=”Name*”, Description = “Name Description”, ParameterType = “path”, DataType = “string”, IsRequired = true)] 
   public string Name {get; set; }
}
于 2013-02-20T00:08:40.593 に答える