Language/ASP.NET

ASP.NET Core에서 API용 MVC Controller 활성화 설정 (Program.cs 기준)

소소한 늙은 개발자의 메모장 2025. 8. 5. 11:20
반응형

 C#(WinForms / .NET) Windows Desktop과 PHP 기반 웹 개발을 하다 보니, 점차 하나의 플랫폼에서 프론트와 백을 모두 다룰 수 있는 실질적인 풀스택 개발자를 지향하게 되었습니다.

 

 그 과정에서 ASP.NET Core 기반의 API 프로젝트를 처음부터 제대로 구성하게 되었는데, 기본 설정에서는 Controller가 자동으로 활성화되지 않아 직접 설정이 필요했습니다.

 

 이 글은 저처럼 초기 세팅에 시간을 아끼고 싶은 분들을 위해 간단히 기록한 것입니다.

 

 어려운 내용은 없으니 코드 위주로 공유드리고, JSON 직렬화 설정도 함께 포함했습니다.

 

- 아 래 -

var builder = WebApplication.CreateBuilder(args);

//..(중략)...

// API만 사용한다면 AddControllers()
// 뷰(View)와 함께 사용한다면 AddControllersWithViews()
builder.Services.AddControllers().AddJsonOptions(options =>
{
    // JSON의 프로퍼티 네이밍 정책을 null로 설정
    //(지정된 이름 그대로, 카멜표기범 사용 안함)
    options.JsonSerializerOptions.PropertyNamingPolicy = null;
});

builder.Services.AddEndpointsApiExplorer();

var app = builder.Build();

//..(중략)...

//등록된 컨트롤러로 요청을 매핑
app.MapControllers();

app.Run();

 

 

설정 항목 설명

AddControllers() MVC 기반 Controller 활성화
AddJsonOptions() 직렬화 옵션 설정 (카멜케이스 비활성화 등)
AddEndpointsApiExplorer() Swagger 등 자동 API 문서화를 위한 설정
MapControllers() 라우팅된 API 요청 처리 설정

 

반응형