2017-11-23 15 views
1

動作していない私は、POSTのために共有し、GETメソッドDTOを持っている、と私は、GETメソッドの1つの余分なフィールドを持つようにしたいので、私はこのようにそれを使用してみました:ServiceStack - ApiMember動詞 -

//... 
[ApiMember(Name = "Status", Verb = "GET", Description = "Status", DataType = "string")] 
     public string Status { get; set; } 
//... 

しかし、何らかの理由で、Swagger-UIでドキュメントの両方のメソッドでまだ表示されています。

動詞は言う:Gets or sets verb to which applies attribute. By default applies to all verbs.

答えて

0

メタデータ属性は、彼らが唯一それを文書化するために使用しているサービスの動作やスキーマを変更しないでください。

あなたはサービスが、各動詞のために利用可能なフィールドだけ、例えば各それらが異なる要求のDTOにする必要がGETやPOSTリクエストのために異なるスキーマを持つようにしたい場合は:だから何それから

[Route("/customers", "GET")] 
class GetCustomer { ... } 

[Route("/customers")] 
class StoreCustomer { ... } 

public class MyServices : Service 
{ 
    public object Get(GetCustomer request) => ...; 

    public object Any(StoreCustomer request) => ...; 
} 
+0

を「ApiMemberAttribute」のこの「動詞」は?ああ、私はちょうどあなたの答えをもう一度読んで... Ok、tnx。 – ShP

+0

@ShP複数のルートがある場合は、それを適用してそれが適用されるルートを指定することによって、特定のルートの表示方法を文書化することができます。例えば。 '[ApiMember(Route ="/customers/{Status} "、動詞=" GET "、ParameterType ="パス "]' – mythz

+0

私はそれが使用できると思った私は以前の一般的なDTOで言及したように、動詞GET - POST - DELETE - PUTでちょっと遊んでみると、そのオプションdoeを持つのはクールです... – ShP