Ich versuche, API-Versionierung nach diesem Tutorial zu implementieren. Also in meinem Start ich habe:ASP.NET WebApi Versionierung funktioniert nicht
var constraintResolver = new DefaultInlineConstraintResolver()
{
ConstraintMap =
{
["apiVersion"] = typeof(ApiVersionRouteConstraint)
}
};
configuration.MapHttpAttributeRoutes(constraintResolver);
configuration.AddApiVersioning()
und meine Controller:
[Route("api/v{version:apiVersion}/my")]
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class MyV1Controller
[Route("api/v{version:apiVersion}/my")]
[ApiVersion("3.0")]
public class MyV3Controller
Wenn ich für http://localhost/api/v1.0/my beantragen bekomme ich einen Fehler
Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL.\r\n\r\nThe request has found the following matching controller types: \r\nMyV1Controller\r\nMyV2Controller
Könnten Sie bitte beraten, wie Controller Versionierung machen arbeiten?
Ihr "V1" -Controller kann mehrere Versionen haben? Wäre der V1-Controller eine Version? ... Warum zwei Attribute? –
Dies kann ein Problem mit Punkt in Ihrer URL sein. –
Meine API besteht aus wenigen Controllern. Während es eine Version 2 gab, die andere Conroller betraf, wurden an MyV1Controller keine Änderungen vorgenommen. Also habe ich einfach die Nummer erhöht. – krzyszt0fd