C#

.NET Core Model 유효성 검사 응답 처리 방법

검은고양이개발자 2024. 8. 26. 15:24
반응형

. NET Core에서 모델 유효성 검사를 처리할 때, 매번 컨트롤러에 필터를 추가하는 대신, 중앙에서 효율적으로 처리할 수 있는 방법이 있습니다. 바로 InvalidModelStateResponseFactory를 사용하는 것입니다.

 

InvalidModelStateResponseFactory


이제. NET Core에서는 InvalidModelStateResponseFactory를 설정하여, 중앙에서 모든 유효성 검사 실패 응답을 처리할 수 있습니다.

 

적용 방법


  1. Startup.cs 또는 Program.cs 파일에 설정 추가:
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers(options =>
    {
        options.InvalidModelStateResponseFactory = context =>
        {
            var errors = context.ModelState.Values
                .SelectMany(v => v.Errors)
                .Select(e => e.ErrorMessage);

            var errorMessage = string.Join(" | ", errors);
            var apiResponse = new ApiResponse<string>(ResponseCode.INVALID_DATA, errorMessage);

            return new BadRequestObjectResult(apiResponse);
        };
    });
}

 

이 설정을 통해, 모든 컨트롤러에서 자동으로 커스텀 오류 응답을 처리할 수 있습니다.

 

장점

  1. 중앙 집중식 관리: 모든 모델 유효성 검사 실패에 대해 한 곳에서 일관되게 관리할 수 있습니다.
  2. 코드 중복 감소: 개별 컨트롤러에 필터를 적용할 필요가 없어집니다.
  3. 유연한 응답 형식: 필요에 따라 다양한 응답 형식을 제공할 수 있습니다.
  4. 더 나은 유지 보수성: 중앙에서 관리하므로, 코드의 유지 보수성이 크게 향상됩니다.

이렇게 설정하면 프로젝트 전체에서 일관된 방식으로 유효성 검사를 처리할 수 있습니다.

반응형