Ich habe eine ASP.NET-REST-API eingerichtet, die in Azure ausgeführt wird. Von einem älteren .NET 4.5-Projekt in Visual Ich habe einen Client mit dieser Menüoption generiert:
Wenn ich jedoch ein neues ASP.NET Core (ASP.NET 5) -Projekt erstelle und den Client generieren möchte, gibt es keine solche Option:
Wie soll der Client für meine REST-API in ASP.NET Core-Projekten generiert werden?
Bei ASPNET Core 1.0 besteht der Ansatz (zumindest jetzt, da sich die Dinge möglicherweise ändern) darin, Swagger zu verwenden, um die REST-API-Dokumentation einmal zu generieren Haben Sie das getan, können Sie AutoRest verwenden, um automatisch einen Client in mehreren Sprachen zu generieren.
Um Swagger in einer Core-App zu verwenden, fügen Sie Ihre projects.json
-Datei hinzu:
Dann können Sie in Ihrer Startup.cs-Datei die Initialisierung hinzufügen:
%Vor% UseSwaggerUi
erzeugt eine URL mit "menschenlesbarem" Inhalt in http://yourdomain/swagger/ui/index.html
. UseSwaggerGen
generiert die swagger.json
Datei in: http://yourdomain/swagger/v1/swagger.json
.
Schließlich müssen Sie Ihre Methoden dekorieren, um Swagger mitzuteilen, welche Art von Ausgabe sie anbieten (die Eingabe wird automatisch erkannt), indem Sie etwas hinzufügen wie:
%Vor%Ich hoffe, es hilft, Dinge aufzuräumen.
UPDATE : Um den Client mit AutoRest zu generieren, gehen Sie einfach zur Eingabeaufforderung (mit installiertem AutoRest) und navigieren Sie zu Ihrem Projektordner, und geben Sie Folgendes ein:
%Vor%Dadurch wird ein "Generated" -Ordner innerhalb Ihres Projekts mit allen Dateien und einer Proxy-Klasse erstellt, die Sie sogar in Ihrer Startup.cs-Datei verwenden und Dependency Injection definieren können.
%Vor%Tags und Links asp.net-web-api .net azure