2017-01-16 5 views
1

最初にパスパラメーターを持つパスへのルートを持つときに、swagger-ui経由でスガーガにアクセスすると、このメソッドは表示されませんでした。スワッガーは、パスパラメーターで始まる呼び出しを表示しません

例:

[Route("/{Version}/userdata", "GET")] 
public class UserData 
{ 
//... 
} 

私も正しくswagger-uiに表示され/v1/getSomeData/v2/getSomeOtherDataのようなパスを使用しています。しかし、パスの始めにパス変数を使ってアクセスするさまざまなバージョン(v1/v2)を持つことができるいくつかのメソッドもあるはずです。

これは可能ですか?もちろん私はまた、各バージョン等

+0

可能であるはずです。あなたの笑い声のファイルを投稿してください。 –

+0

申し訳ありませんが、どちらのファイルをすごいのですか? – zlZimon

+0

swaggerは、jsonまたはyamlを使用するエンドポイント指定形式です。したがって、swaggerファイル指定を使用してエンドポイントを定義することは可能です。私の答えを参照 –

答えて

1

闊歩2.0 specification定義は以下のようになります。

ただし、サービススタックスワッガーの生成toolingはスワッガー1.2 specのみをサポートしています。 Service Stackのテクニカルリーダーである@mythzによると、あなたがしたいことは、既存のツールを使用してサポートされていないことです。これが事実である、とあなたは間違いなくあなたのサービスのために闊歩定義が必要な場合は

、あなたはのいずれかの操作を行いますすることができます:ツーリングサポート

  • が作成し

    1. 変更何かにあなたのエンドポイントのルートをご既存のように闊歩定義を手動で
    2. があなたの状況では、あなたのツーリング

    を変更

  • 、私が行うための最善のことは、エンドポイントのルートを変更することだと思いますツーリングは定義を生成することができます。これは、パスパラメータを削除することを意味します。

    これを行うことができない場合は、手動でswagger 2.0定義を作成します。これに助けが必要なら私に知らせてください。

  • +0

    [Swagger 1.2仕様パス](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md#511-object-example)フィールドはどのように生成されますか? – mythz

    +0

    @mythz - あなたが何を意味するかわかりません。 –

    +0

    Swagger 1.2では、[リソースリスト](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md#51-resource-listing)を生成する必要があります。ここに? – mythz

    1

    闊歩UIグループ異なる応答を有し、リテラルパスする必要があるルート/経路下でそのルートを表示するので/{Version}/userdataための2つの方法を表示する必要があります。

    { 
        "paths":{ 
         "/{Version}/userdata":{ 
          "get":{ 
           "produces":[ 
            "application/json", 
            "text/json" 
           ], 
           "parameters":[ 
            { 
             "name":"Version", 
             "in":"path", 
             "required":true, 
             "type":"string" 
            } 
           ], 
           "responses":{ 
            "200":{ 
             "description":"OK" 
            }, 
            etc... 
           } 
          } 
         } 
        } 
    } 
    

    だから闊歩仕様を使用してエンドポイント/{Version}/userdataの定義についての本質的に不可能は何もありません:あなたのエンドポイントの

    +0

    はい、わかっています。 '/ v1/somerequest'のようなリテラルパスを持つものは完全にグループ化されています。何かを壊すことなく表示されるパラメータを持つものをどのように取得するかについては、どのような作業がありますか? – zlZimon

    関連する問題