1. Der Controller erbt vom selben Controller wie MVC; Die Routenkonfiguration ist , annotiert auf dem Controller [Route("api/[controller]")], [HttpGet], [HttpPost] usw. in der Methode markieren oder [HttpGet("{id}")] verwenden] Das ist der Stil. Sie können die Methode [HttpPost("Test")] verwenden, um die Methode zu markieren. So funktioniert das
http://localhost:54689/api/values/Test 访问。 2. Action unterstützt IActionResult als Rückgabewert, unterstützt jedoch nicht HttpResponseMessage als Rückgabewert 3. IHttpControllerSelector wird nicht mehr unterstützt, und mit IApplicationModelConvention werden mehrere Versionen implementiert
Schreibe eine NameSpaceVersionRoutingConvention
Dann besuchen Sie http://localhost:57799/api/v1/Default/Test, http://localhost:57799/api/v2/Default/Test Nach dem Debugging stellte sich heraus, dass NameSpaceVersionRoutingConvention nur einmal ausgeführt wird, wenn der Prozess gestartet wird, im Gegensatz zu diesem IHttpControllerSeelct, sodass es nicht jedes Mal ausgeführt werden muss, wenn man einen Zugriff anfordert, und es effizienter ist! 4. Filter und asp.net mvc-Kern werden gemeinsam genutzt, und es gibt zwei synchrone und asynchrone Schnittstellen unter Microsoft.AspNetCore.Mvc.Filters. Gebaut Diskutieren Sie die Verwendung asynchroner Varianten. Dann registrieren Sie sich wie folgt
|