1. Kontroler dziedziczy ten sam kontroler co MVC; Konfiguracja trasy jest , oznaczona na kontrolerze [Route("api/[controller]")], zaznacz [HttpGet], [HttpPost] itd. na metodzie lub użyj [HttpGet("{id}")] To jest styl. Możesz użyć metody [HttpPost("Test")], aby oznaczyć metodę. Tak to działa
http://localhost:54689/api/values/Test 访问。 2. Akcja obsługuje IActionResult jako wartość zwrotną, ale nie obsługuje HttpResponseMessage jako wartości zwrotnej 3. IHttpControllerSelector nie jest już wspierany, a wiele wersji jest implementowanych za pomocą IApplicationModelConvention
Write a NameSpaceVersionRoutingConvention
To odwiedź http://localhost:57799/api/v1/Default/Test, http://localhost:57799/api/v2/Default/Test Po debugowaniu okazało się, że NameSpaceVersionRoutingConvention jest wykonywany tylko raz po uruchomieniu procesu, w przeciwieństwie do tego IHttpControllerSeelct, więc nie musi być uruchamiany za każdym razem, gdy prosisz o dostęp, więc jest bardziej efektywny! 4. Filter i rdzeń asp.net mvc są wspólne, a pod Microsoft.AspNetCore.Mvc.Filters znajdują się dwa interfejsy synchroniczne i asynchroniczne. Zbudowano Omów o użyciu asynchronicznych. Następnie rejestruj się w następujący sposób
|