WebAPI 테스트는 요청(Request)을 전송하고 그에 대한 응답(Response)을 수신하는 과정으로 이루어집니다. WebAPI를 테스트하는 방법은 여러 가지가 있지만, 이 글에서는 가장 널리 사용되는 Swagger와 Postman 두 가지 도구를 활용한 테스트 방법을 소개합니다.
먼저 아래와 같이 StudentController를 생성해 보겠습니다.
Student 모델
namespace DemoWebApplication Models{
public class Student{
public int Id { get; set; }
public string Name { get; set; }
}
}Student 컨트롤러
예제 코드
using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace DemoWebApplication.Controllers{
public class StudentController : ApiController{
List<Student> students = new List<Student>{
new Student{
Id = 1,
Name = "Mark"
},
new Student{
Id = 2,
Name = "John"
}
};
public IEnumerable<Student> Get(){
return students;
}
public Student Get(int id){
var studentForId = students.FirstOrDefault(x => x.Id == id);
return studentForId;
}
}
}위 컨트롤러는 두 개의 GET 액션 메서드를 제공합니다. 하나는 전체 학생 목록을 반환하고, 다른 하나는 특정 ID에 해당하는 학생 정보를 반환합니다.
Swagger를 사용한 테스트
Swagger는 REST API를 문서화하기 위한 표준 사양(Specification)입니다. URL, HTTP 메서드, 표현 방식 등의 형식을 정의하여 REST 웹 서비스를 체계적으로 기술할 수 있습니다. 메서드, 매개변수, 모델에 대한 설명이 서버 코드와 긴밀하게 통합되어 있기 때문에 API와 문서 간의 동기화가 항상 유지된다는 것이 큰 장점입니다.
프로젝트에서 Swagger를 사용하려면 NuGet 패키지 관리(Manage NuGet Packages)를 통해 Swashbuckle 패키지를 설치하면 됩니다.

WebAPI 프로젝트를 실행한 뒤 브라우저 주소창에 swagger/ui/index를 입력하여 Swagger UI 페이지로 이동합니다.

Swagger UI에 접속하면 컨트롤러와 해당 액션 메서드가 자동으로 목록 형태로 표시됩니다. 각 컨트롤러를 펼친 후 원하는 엔드포인트에 요청을 직접 보내 테스트할 수 있습니다.
전체 학생 조회(Get All Students) 요청

전체 학생 조회(Get All Students) 응답

ID로 학생 조회(Get Students for Id) 요청

ID로 학생 조회(Get Students for Id) 응답

Postman을 사용한 테스트
Postman은 개발자가 API를 손쉽게 생성, 공유, 테스트, 문서화할 수 있도록 지원하는 대표적인 API 클라이언트입니다. 단순한 요청부터 복잡한 HTTP/HTTPS 요청까지 만들고 저장할 수 있으며, 응답 결과도 바로 확인할 수 있습니다. 이를 통해 개발 작업의 효율성을 높이고 반복적인 수작업 부담을 크게 줄일 수 있습니다.
Postman은 데스크톱 애플리케이션으로 설치해서 사용할 수도 있고, 아래와 같이 브라우저를 통해 실행할 수도 있습니다.

전체 학생 조회 요청 및 응답

ID로 학생 조회 요청 및 응답

마무리
지금까지 C# ASP.NET WebAPI를 Swagger와 Postman 두 가지 도구로 테스트하는 방법을 살펴보았습니다. Swagger는 API 문서 자동화와 함께 브라우저 기반의 간편한 테스트 환경을 제공하고, Postman은 더욱 다양한 시나리오의 요청 구성과 팀 단위 협업에 유용합니다. 프로젝트의 성격과 요구 사항에 맞게 두 도구를 적절히 활용하면 API 개발과 검증 과정을 한층 효율적으로 진행할 수 있습니다.