2016-11-30 4 views
1

Ich habe ein C# Web.API-Projekt mit Swagger und Swashbuckle.SwaggerUI zeigt kein Modellschema an

Ich habe ein Modell:

public class TimeZoneName 
    { 
     public string zoneName { get; } 
    } 

Ich habe einen Controller mit Methoden:

public string GetLocalTimeByTimeZone(TimeZoneName timezone) 
{ 
    //Stuff Happens here 
    return "12:00"; 
} 

während eines Build I Swashbuckle erwartete einen SwaggerUI zu erzeugen, die eine JSON Darstellung des Timezonetyp zeigt, in der Benutzeroberfläche.

Das ist nicht aufgetreten.

Wie richte ich meine Methoden und Modelle so ein, dass das Modellschema in der SwaggerUI angezeigt wird?

Antwort

0

Swashbuckle interpretiert den Befehl Get am Anfang des Aktionsnamens und geht davon aus, dass Sie keine komplexen Daten im Hauptteil der Anforderung senden.

Sie können Swashbuckle zwingen, die Aktion als POST zu interpretieren, indem Sie einen Dekorator hinzufügen.

[HttpPost] 
public string GetLocalTimeByTimeZone(TimeZoneName timezone)