아직도 dotNet에서 컨트롤러를 작성하고 계십니까? Minimal API를 사용해 보세요!
5836 단어 csharpprogrammingdotnetwebdev
따라서 Program.cs, Startup.cs 및 ControllerBase에서 상속된 수많은 컨트롤러가 포함된 일반적인 C# 웹 API에는 많은 명명 규칙과 엄격한 구조가 있었습니다. 코드는 다음과 비슷합니다.
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using sandboxing.Models;
namespace sandboxing.Controllers
{
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
return View();
}
public IActionResult Privacy()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}
재미있는 사실: 여전히 원하는 경우
dotnet new mvc
를 입력하여 MVC 스타일 웹 앱을 빌드할 수 있습니다. 위의 코드는 이 명령에서 가져온 HomeController입니다. 문자열“Hello World, I guess?”
만 포함하도록 Index.cshtml을 수정하고 컨트롤러Index()
메서드를 통해 브라우저로 다시 보낼 수 있습니다. 해당 경로를 탐색하면 앱이 컨트롤러에서 문자열을 로드합니다(실제로 요청하지 않은 머리글 및 바닥글 포함).아주 간단하죠? 음, 실제로 간단할 수 있다면 어떨까요?
Microsoft는 dotNet 6을 통해 이 구조를 크게 단순화하고 C# 개발을 NodeJS 및 Express와 같은 최신 기술에 더 가깝게 만드는 Minimal APIs 패러다임을 도입했습니다(분명히 요즘 백엔드에서 Javascript를 실행해도 괜찮습니다).
이러한 노력의 일환으로 Web API의 기본 상용구 구조를 단순화하는 Startup.cs를 완전히 제거했습니다. 계속해서
dotnet new web
를 입력하십시오.Program.cs는 다음과 같이 표시됩니다.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
그게 다야. 한 파일에 네 줄. app.MapGet 라인은 익명 함수 "string() { return "Hello World!"; }"를 "/"경로로. 해당 경로를 탐색합니다. 함수에서 반환을 얻습니다. 서버, 클라우드, Linux 또는 Windows 어디에서나 쉽게 호스팅할 수 있는 터미널 응용 프로그램(IIS who?)에서 모두 실행됩니다.
보시다시피 닷넷 앱의 장황한 시대는 지났습니다. 한동안 C#을 시도하지 않았다면 지금이 온보딩을 시작하고 모든 하드웨어에 설치할 수 있는 린(Lean) 앱을 빌드할 수 있는 가장 좋은 시간입니다. 자세한 내용은 Microsoftofficial documentation를 확인하십시오(문서가 꽤 훌륭하다고 장담합니다). 오래 지속되는 Minimal API!
Reference
이 문제에 관하여(아직도 dotNet에서 컨트롤러를 작성하고 계십니까? Minimal API를 사용해 보세요!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/brunosilvadev/still-writing-controllers-in-dotnet-give-minimal-apis-a-try-5e4i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)