ASP.NET Core Minimal API로 간단한 API 만들기

  • 5 minutes to read

.NET 6 이상부터 제공되는 Minimal API 기능을 활용하면, Program.cs 파일 하나만으로도 매우 간단하게 웹 API를 구축할 수 있습니다. 이 문서에서는 Azunt.Web 또는 Hawaso라는 이름의 웹 프로젝트를 생성하고, 간단한 GET API를 구현하는 과정을 단계별로 소개합니다.


1. 프로젝트 생성

Visual Studio 또는 .NET CLI를 사용하여 새로운 웹 프로젝트를 생성합니다. Minimal API는 Blazor Server, MVC, Razor Pages 프로젝트에도 통합 가능하지만, 여기서는 가장 간단한 ASP.NET Core Web 템플릿을 사용합니다.

dotnet new web -n Azunt.Web
cd Azunt.Web

dotnet new web 명령은 ASP.NET Core의 기본 Web 템플릿을 기반으로 한 프로젝트를 생성하며, Minimal API 스타일로 작성할 수 있도록 구성됩니다.


2. Program.cs 수정

Azunt.Web 프로젝트 폴더 내의 Program.cs 파일을 열고 다음과 같이 작성합니다.

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("api/foo", () =>
{
    return new[]
    {
        new { Id = 1, Name = "Foo" },
        new { Id = 2, Name = "Bar" }
    };
});

app.Run();

위 코드는 /api/foo 경로에 대한 GET 요청이 들어오면 JSON 배열 데이터를 반환하는 간단한 API입니다.

MapGet 메서드란?

MapGet 메서드는 특정 경로(URL)에 대한 HTTP GET 요청을 처리할 수 있도록 라우팅을 설정하는 Minimal API의 핵심 메서드입니다. 람다 식을 통해 직접 응답 데이터를 정의할 수 있으며, 복잡한 컨트롤러나 의존성 주입 없이도 빠르게 API를 구현할 수 있다는 장점이 있습니다.


3. 실행 및 테스트

다음 명령어로 프로젝트를 실행합니다.

dotnet run

기본적으로 애플리케이션은 http://localhost:5000 또는 https://localhost:7000에서 실행됩니다. 웹 브라우저 또는 API 테스트 도구(Postman, curl 등)를 사용하여 다음 URL로 요청을 보내보세요.

http://localhost:5000/api/foo

응답 예시

[
  { "id": 1, "name": "Foo" },
  { "id": 2, "name": "Bar" }
]

4. .http 파일로 API 테스트하기

앞에서 만든 Minimal API(/api/foo)가 정상적으로 작동하는지 .http 요청 파일을 통해 손쉽게 테스트할 수 있습니다. 이 방법은 Visual Studio 또는 Visual Studio Code에서 직접 실행할 수 있어, 브라우저나 Postman 없이도 API 호출 결과를 바로 확인할 수 있습니다.


4-1. HTTP 요청 파일 생성

다음 경로에 .http 파일을 생성합니다.

Azunt.Web\HttpRequests\api-foo.http

파일 이름은 자유롭게 정할 수 있지만, 요청 대상이 명확하게 드러나도록 api-foo.http와 같이 구성하는 것이 좋습니다.


4-2. 요청 작성

생성한 .http 파일에 다음과 같이 입력합니다.

### Test api/foo without auth
GET https://localhost:5001/api/foo
  • ###는 요청에 대한 주석이며 실행에는 영향을 주지 않습니다.
  • GET 메서드는 Minimal API에서 등록한 /api/foo 엔드포인트를 호출합니다.
  • 포트 번호는 실행 환경에 따라 다를 수 있으며, 브라우저에서 접속 가능한 주소로 수정해도 됩니다.

4-3. 실행 방법

Visual Studio 2022 이상

  • .http 파일을 열면 오른쪽 상단에 Run Request 버튼이 나타납니다.
  • 클릭하면 응답 패널이 열리고 JSON 결과를 확인할 수 있습니다.

Visual Studio Code

  1. REST Client 확장을 설치합니다.
  2. .http 파일을 열고 Send Request 링크를 클릭하거나 Ctrl + Alt + R을 눌러 실행합니다.

4-4. 응답 결과 예시

정상적으로 동작하면 아래와 같은 JSON 응답을 받습니다:

[
  { "id": 1, "name": "Foo" },
  { "id": 2, "name": "Bar" }
]

상태 코드는 200 OK이며, Minimal API가 기대한 대로 동작하고 있다는 뜻입니다.


4-5. .http 파일 테스트의 장점

항목 설명
코드와 함께 버전 관리 가능 요청 시나리오도 Git 등으로 관리 가능
빠른 실행 Postman 없이 즉시 요청 가능
다양한 요청 포맷 지원 쿼리, 헤더, 본문, 인증 등도 테스트 가능

마무리

이제 Minimal API를 구현하고, .http 파일을 통해 테스트하는 기본 흐름을 이해했습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com