반응형
. NET Core에서 모델 유효성 검사를 처리할 때, 매번 컨트롤러에 필터를 추가하는 대신, 중앙에서 효율적으로 처리할 수 있는 방법이 있습니다. 바로 InvalidModelStateResponseFactory를 사용하는 것입니다.
InvalidModelStateResponseFactory
이제. NET Core에서는 InvalidModelStateResponseFactory를 설정하여, 중앙에서 모든 유효성 검사 실패 응답을 처리할 수 있습니다.
적용 방법
- 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);
};
});
}
이 설정을 통해, 모든 컨트롤러에서 자동으로 커스텀 오류 응답을 처리할 수 있습니다.
장점
- 중앙 집중식 관리: 모든 모델 유효성 검사 실패에 대해 한 곳에서 일관되게 관리할 수 있습니다.
- 코드 중복 감소: 개별 컨트롤러에 필터를 적용할 필요가 없어집니다.
- 유연한 응답 형식: 필요에 따라 다양한 응답 형식을 제공할 수 있습니다.
- 더 나은 유지 보수성: 중앙에서 관리하므로, 코드의 유지 보수성이 크게 향상됩니다.
이렇게 설정하면 프로젝트 전체에서 일관된 방식으로 유효성 검사를 처리할 수 있습니다.
반응형
'C#' 카테고리의 다른 글
C#에서 동기메서드를 비동기 방식으로 처리하는 방법 (0) | 2024.08.22 |
---|---|
EF Core 최신 N 연관관계 매핑 (0) | 2024.07.14 |
C# 비동기 프로그래밍: 비동기 vs 동기 처리 (0) | 2024.07.10 |
.NET Framework 4.5.2 다운로드 (0) | 2024.05.13 |
.NET Framework 삭제 방법 (0) | 2024.05.13 |