0
モデルの状態に基づいて、コードが繰り返し実行されるアクションの多くでプロパティの検証時にカスタム例外をスローする必要があります。特定のアクションパラメータを検証するときにカスタム例外をスローする
これはどのようにリファクタリングできますか?現在のコードの
例
[HttpGet("{jobId}/employeeLog")]
public async Task<IActionResult> GetFileLog(Guid jobId,
[FromQuery] Guid employeeId,
[SkipAndTopFromQuery] int? skip,
[SkipAndTopFromQuery] int? top,
[FromHeader(Name = "X-Correlation-ID")] string correlationId)
{
var employeeIdToValidate = ModelState["employeeId"];
var jobIdToValidate = ModelState["jobId"];
if (employeeIdToValidate == null || employeeIdToValidate != null && employeeIdToValidate.Errors.Any())
throw new InvalidFileIdException();
if (jobIdToValidate == null || jobIdToValidate != null && jobIdToValidate.Errors.Any())
throw new InvalidApplicationIdException();
if (!ModelState.IsValid)
return StatusCode((int)HttpStatusCode.BadRequest);
....
}