ASP.NET Core Minimal API로 간단한 API 만들기
.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
- REST Client 확장을 설치합니다.
.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
파일을 통해 테스트하는 기본 흐름을 이해했습니다.