Bei der Definition eines RoutePrefix auf Controller-Ebene, wenn ich versuche, die API-Klasse mit der URL mit Präfix http://localhost:55020/api/v2/dummy/get
zuzugreifen, löst 404. Dies http://localhost:55020/api/dummy/get
funktioniert jedoch absolut gut.Web API 2 RoutePrefix funktioniert nicht
Hier ist Controller-Klasse, die eine RoutePrefix hat definiert
[RoutePrefix("v2/dummy")]
public class DummyController : ApiController
{
// GET api/values
[SwaggerOperation("Get")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2", "value3" };
}
}
Hier WebApiConfig statt
public class DummyController : ApiController
{
// GET api/values
[HttpGet]
[Route("api/v2/dummy/get")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2", "value3" };
}
}
Routing
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Ich möchte die Versionierung auf Controller-Ebene definieren, anstatt jede Aktion machen wollen. Ich meine das Präfix "v1" oder "v2", wenn wir die API aktualisieren – Vikram
ok Ich überprüfe deine Lösung – Mostafiz
überprüfen Update Antwort – Mostafiz