5

Generuję dokumentację interfejsu API za pomocą generatora stron pomocy interfejsu API. Problem polega jednak na tym, że generator stron pomocy nie może wygenerować dokumentacji dla metod z parametrami Enum. Dzieje się tak również w przypadku parametrów obiektu i typu dynamicznego.Strona pomocy Web API dla metody z parametrami Enum

Oto moja metoda:

public HttpResponseMessage Get(Status status, DateTime? date = null) 
{ 
    ... 
} 

enum Status 
{ 
    Avaliable, 
    Busy, 
    Canceled, 
    Failed, 
    Sent 
} 

I tu jest dokumentacja generowania:

GET api/StatusCheck?date={date} 

Ale poprawna forma to:

GET api/StatusCheck?status={status}&date={date} 

Kiedy idę do dokumentacji modelu API parametr istnieje, ale nie ma opisów.

To jest tak:

GET api/StatusCheck?date={date} 

Unavaliable. 

Request 
Parameters 

Name   Description 
status   Unavaliable. 
date   Unavaliable. 

Jest to błąd w generatorze Pomoc stronie? Jak mogę poprawić przykłady na mojej stronie?

Odpowiedz

3

To był błąd, który został naprawiony w kwietniu tego roku. Poniżej znajduje się problem związany z tym.

http://aspnetwebstack.codeplex.com/workitem/312

+0

Brak aktualizacji na Nuget. Jak mogę zaktualizować moje źródło? –

+1

RC (Release Candidate) został wydany już dziś. Możesz spróbować zaktualizować pakiety nugetów, aby sprawdzić, czy problem został rozwiązany. –

+0

Nie działa jeszcze. Zaktualizowałem wszystkie pakiety AspNet do dostępnej wersji 4.0.30506.0. –

4

miałem podobny problem w moim końcu, który został rozwiązany po prostu dodając następujący kod do XmlDocumentationProvider.cs wewnątrz metody GetTypeName(Type type).

if (type.IsEnum) { return type.FullName.Replace("+", "."); }

moje teksty stałe są pod jednym wielkim Enum klasy, a problemem było to, że funkcja ta wróciła wyliczenia + MyEnum który nie został odnaleziony w pliku XML. poza tym wartością, której należy szukać, jest Enums.MyEnum.

+0

To właśnie dla mnie działało - a ja używałem najnowszego nugetu dla interfejsu API sieci Web –

+0

Naprawiono również mój problem. Opis nie był wyświetlany dla mnie b/c ich nazwy nie pasowały do ​​siebie (+ vs.). Dzięki! – Darky711