2016-04-11 24 views
1

ServiceStack uygulamasında Swagger'dan belirli bir DTO'yu dışlamakla ilgili bir sorun yaşıyorum. İşte benim Kurulum:ServiceStack Swagger DTO Hariç tutmuyor

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

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

Beklediğim davranış Swagger POST isteği dokümanlar ancak GET kaldıracaktır olduğunu. Onun yerine her ikisini de listeliyorum. Yanlış yaptığım şeylerle ilgili herhangi bir yardım takdir edilir.

GÜNCELLEME: Hiçbir başarının aşağıdaki özellik ekleyerek denedim: Eğer özelliklerini bir DTO veya kullanan tüm hizmetleri hariç tutabilir ya benzeri documentation bakarak

[Restrict(VisibilityTo = RequestAttributes.None)] 

cevap

2

, görünüşe DTO - ama sadece belirli fiilleri dışlama konusunda bir şey söylemez.

+0

Bunun muhtemelen doğru olduğunu onaylayabilirim. Dışında DTO'nun sadece sınıf nesnesi olduğu izlenimi aldım ve bunun rotaya dikkat edeceğini düşünmedim. Bu şekilde, CreateLists DTO'yu hariç tutmayı umuyordum ama GetLists'i değil (çünkü ayrı sınıflar). Hala emin değilim, WSDL vb. Hariç tutulduğunda iyi çalışıyor, sadece bu sorun olan Swagger. –

2

[Restrict] özelliğini kullanarak Görünürlüğü kısıtlayabilirsiniz. (bakınız documentation). Bu, sınıf tabanlı bir özelliktir ve Hizmet sınıfınıza yerleştirilmelidir. Görünürlük, hizmetin genel/meta veri sayfalarında görünüp görünmeyeceğini etkiler (& Swagger'ı da umuyorum).

Aşağıdakileri denediniz mi?

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

Bunu denedim ama işe yaramıyor, dokümantasyonda hala görülebilir. Sorumu güncelledim. –

İlgili konular