반응형
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 요청 처리 설정 |
반응형