2013-01-24 9 views
6

Czy jest możliwe, aby ServiceStack.Api.Swagger v3.9.33 opisywał odpowiedź operacji API i zwracane kody statusu za pomocą Swagger? Być może przez dekoracji atrybutu na klasie Response/właściwości itpJak określić klasę odpowiedzi i kody stanu zwrotu za pomocą obiektu Swagger/ServiceStack?

Jak wyróżnionych sekcjach na poniższym przykładzie pracy z API sklepie zoologicznym: (http://petstore.swagger.wordnik.com/)

enter image description here

widzę tylko Metody HTTP i żądanie DTOS można udekorować na https://github.com/ServiceStack/ServiceStack/wiki/Swagger-API i szybkie spojrzenie na kod wygląda, może jeszcze nie być obsługiwane, https://github.com/ServiceStack/ServiceStack/tree/master/src/ServiceStack.Api.Swagger

Odpowiedz

3

Od tej chwili jest to możliwe, jeśli pociągniesz za głowę repozytorium ServiceStack. Właśnie uzyskałem scalone żądanie wyciągnięcia, które dodaje opcję dekorowania DTO twojego żądania za pomocą atrybutu [ApiResponse]. Zobacz tutaj szczegóły:

https://github.com/ServiceStack/ServiceStack/issues/590#issuecomment-17575292

+0

Niestety problem zniknął :(mam ApiResponse atrybut, ale po prostu, aby dodać kod stanu.Po sprawdzeniu json Model ResponseClass istnieje, ale nie ma właściwości, chociaż mam to przypisane z Api i ApiMember – unreal

1

Obecnie szukam rozwiązania tego samego problemu.

Doszedłem do stwierdzenia, że ​​jest to obecnie realizowane -> patrz: https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.Api.Swagger/SwaggerApiService.cs dla dowodu

Tak, obecnie nie ma integracja modeli odpowiedź lub kody stanu.

+0

Tak, zakłada żadnej odpowiedzi w ciągu kilku miesięcy oznaczało jeszcze żadnego postępu, z nadzieją na mapie drogowej. Twoje zdrowie. –

+0

Jeśli masz trochę wolnego czasu, krótko sprawdziłem: próbka: http://petstore.swagger.wordnik.com/api/api-docs.json/pet docs: https://github.com/ wordnik/swagger-core/wiki/Resource-Listing Proponuję: przechodzenie przez wszystkie klasy odpowiedzi (w taki sam sposób, w jaki stos serwisowy obsługuje żądania) i skanowanie atrybutów (musisz je określić). -> ale ta część jest za dużo dla mojej C#/.net wiedzy –

+0

odpowiedniego biletu github: https://github.com/ServiceStack/ServiceStack/issues/590 –

2

Postaraj się, aby Twoje zapytanie (gdzie zastosowali RouteAttribute) w celu wdrożenia ServiceStack.ServiceHost.IReturn<TResponseType> gdzie TResponseType jest twój typ odpowiedzi.

Więc przykład powinien wyglądać mniej więcej tak:

[Route("/todos")] 
[Route("/todos/{Ids}")] 
public class Todos : IReturn<List<Todo>> 

IReturn<List<Todo>> jest to, czego szukasz

Powiązane problemy