2016-04-11 8 views
1

Ich habe ein Problem mit dem Ausschließen eines bestimmten DTO von Swagger in meiner ServiceStack-Anwendung. Hier ist mein Setup:ServiceStack Swagger DTO wird nicht ausgeschlossen

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

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

Das Verhalten, das ich erwartet habe, ist die Swagger wird die POST-Anfrage docs entfernen, aber nicht die GET. Stattdessen bekomme ich beide aufgelistet. Jede Hilfe bei dem, was ich falsch mache, wird geschätzt.

UPDATE: Ich habe versucht, ohne Erfolg das folgende Attribut hinzu:

[Restrict(VisibilityTo = RequestAttributes.None)] 

Antwort

2

am documentation Vom Blick sieht es aus wie Sie entweder Eigenschaften eines DTO oder alle Dienste unter Verwendung eines ausschließen DTO - aber es sagt nichts darüber aus, nur bestimmte Verben auszuschließen.

+0

Ich kann bestätigen, dass dies wahrscheinlich richtig ist. Außer ich hatte den Eindruck, dass der DTO nur das Klassenobjekt war und ich dachte nicht, dass es sich um die Route kümmern würde. Auf diese Weise hoffte ich, die CreateLists DTO auszuschließen, aber nicht die GetLists (weil sie separate Klassen sind). Ich bin mir immer noch nicht sicher, wenn es die WSDL etc. ausschließt, funktioniert es gut, es ist nur Swagger, das ist das Problem. –

2

Sie können die Sichtbarkeit mit dem Attribut [Restrict] einschränken. (siehe documentation). Dies ist ein klassenbasiertes Attribut und sollte in Ihrer Service-Klasse platziert werden. Die Sichtbarkeit wirkt sich darauf aus, ob der Dienst auf den öffentlichen/Metadaten-Seiten angezeigt wird (& Ich hoffe auch auf Swagger).

Haben Sie das unten versucht?

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

Ich habe das versucht, aber es funktioniert nicht, es ist immer noch in der Dokumentation sichtbar. Ich habe meine Frage aktualisiert. –

Verwandte Themen