2016-04-11 7 views
1

ServiceStackアプリケーションのSwaggerから特定のDTOを除外する際に問題があります。ここに私の設定です:ServiceStack Swagger DTOは除外されません

[Route("/lists", "GET")] 
public class GetLists : IReturn<GetListsResponse> 
{ 
} 

[Route("/lists", "POST")] 
[Exclude(Feature.Metadata)] 
public class CreateList : IReturn<CreateListResponse> 
{ 
} 

私は期待してい行動が闊歩は、POSTリクエストのドキュメントではなく、GETを削除しますです。代わりに、私はそれらの両方をリストアップしています。私が間違っていることを助けてくれたら助かります。

UPDATE:ノー成功に次の属性を追加しようとしている:あなたはプロパティDTOのまたは使用しているすべてのサービスを除外するかのようにdocumentationを見てから

[Restrict(VisibilityTo = RequestAttributes.None)] 

答えて

3

異なるリクエストDTOのの可視性は、今available on MyGetが今だv4.0.55から入手可能ですthis commitから解決しなければなりません。

2

、それが見えますDTO - しかし、特定の動詞だけを除外することについては何も言いません。

+0

これはおそらく正しいことが確認できます。私は、DTOが単なるクラスオブジェクトであるという印象を受けていたことを除いて、私はそれがルートを気にするとは思わなかった。こうして、私はCreateLists DTOを除外したいが、GetListsは除外したいと思っていた(別々のクラスだからだ)。私はまだ分かりません.WSDLなどを除外すると、うまくいきます。それはちょうど問題です。 –

2

[制限]属性を使用して可視性を制限することができます。 (documentation参照)。これはクラスベースの属性なので、Serviceクラスに配置する必要があります。可視性は、サービスがパブリック/メタデータページに表示されるかどうかに影響します(&スワッガーも期待しています)。

あなたは以下を試しましたか?

[Route("/lists", "POST")] 
[Restrict(VisibilityTo = RequestAttributes.None)] 
public class CreateList : IReturn<CreateListResponse> 
{ 
} 
+0

私はこれを試しましたが、うまくいきません。まだドキュメントに表示されています。私は私の質問を更新しました。 –

関連する問題