ASP0003: 경로 처리기와 모델 바인딩 특성을 사용하지 마세요
값 | |
---|---|
규칙 ID | ASP0003 |
범주 | 사용 |
수정 사항이 주요 변경인지 여부 | 주요 변경 아님 |
원인
경로 처리기 대리자는 [Bind]
특성이 있는 매개 변수를 포함합니다.
규칙 설명
경로 처리기 엔드포인트는 [FromRoute]
, [FromBody]
등과 같은 MVC 특성의 하위 집합만 지원합니다. 지원되지 않는 특성은 무시되고 예기치 않은 바인딩 동작이 발생합니다. 예를 들어, 다음 코드는 분석기 경고를 생성합니다.
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
위반 문제를 해결하는 방법
이 규칙 위반 문제를 해결하려면 엔드포인트에서 허용되는 모델 바인딩 특성 중 하나를 사용하는지 확인합니다.
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
경고를 표시하지 않는 경우
이 규칙에서는 경고를 표시하지 않아야 합니다. 잘못된 모델 바인딩 설정으로 인해 런타임 시 매개 변수를 확인할 때 예기치 않은 동작이 발생할 수 있습니다.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
ASP.NET Core