Ich verwende Microsoft.AspNetCore.Mvc.Versioning
und ich habe Schwierigkeiten beim Einrichten der Routen richtig. Ich verfolge die Informationen von Hanselman Blog hier: http://www.hanselman.com/blog/ASPNETCoreRESTfulWebAPIVersioningMadeEasy.aspxMvc.Versioning korrekte Möglichkeit zum Erstellen von Routen
Ich möchte meine API über URIs zugreifen wie so:
http://me.com/api/v1.0/foo/bar
ich die richtigen Attribute auf meine foo Klasse :
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[controller]")]
die oben genannten Arbeiten in Ordnung, aber wenn ich die unten (keine Version) Typ:
Ich erhalte eine 404, wenn sie der oben gehen (ich nehme an, weil die Strecke richtig für keine Version angegeben nicht eingerichtet ist).
Ich habe versucht, dies auf die Startup.cs Datei hinzufügen:
//Add the versioning
services.AddApiVersioning(o => {
//Everytime a new version is created this must be updated to default to the latest version.
o.AssumeDefaultVersionWhenUnspecified = true;
o.DefaultApiVersion = new ApiVersion(1, 0);
});
Aber das hat nicht funktioniert entweder - so dann habe ich die Strecke habe ich an der Spitze meiner foo Klasse/Controller gesucht:
[Route("api/[controller]")]
Dies wird das gewünschte Verhalten, das ich will, und ich alle Routen unten zugreifen:
http://me.com/api/v1.0/foo/bar
Ist das so, wie es getan werden sollte? Warum funktioniert die Standardversion nicht so, wie Hanselman es beschreibt?
Ich scheine einen 404 zu bekommen, auch wenn ~/v/foo/bar – Smithy
Ja, es ist das gleiche wie meine Frage, außer dass ich '[Route (" api/[controller] ")] von meinem entfernt habe Controller – Smithy
Was bedeutet "o.AssumeDefaultVersionWhenUnspecified = true;" Wird es abgeschrieben? – Smithy