다음을 통해 공유


ASP0003: 경로 처리기에서 모델 바인딩 특성을 사용하지 마세요.

가치
규칙 아이디 ASP0003
범주 사용법
수정 사항이 문제를 해결하고 있는지 혹은 새로운 문제를 일으키지 않는지 여부 비손상

원인

경로 처리기 대리자는 [Bind] 속성이 있는 매개 변수를 포함합니다.

규칙 설명

경로 처리기 엔드포인트는 MVC 특성(예: [FromRoute][FromBody]등)의 하위 집합만 지원합니다. 지원되지 않는 특성은 무시되고 예기치 않은 바인딩 동작이 발생합니다. 예를 들어 다음 코드는 분석기 경고를 생성합니다.

app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });

위반을 해결하는 방법

이 규칙 위반 문제를 해결하려면 엔드포인트에서 허용되는 모델 바인딩 특성 중 하나를 사용하는지 확인합니다.

app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });

경고를 표시하지 않는 경우

이 규칙의 경고를 숨기지 마세요. 모델 바인딩 설정이 잘못되면 런타임 시 매개 변수를 확인할 때 예기치 않은 동작이 발생할 수 있습니다.