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 });
Когда лучше отключить предупреждения
Не подавляйте предупреждение из этого правила. Неправильная настройка привязки модели может привести к непредвиденному поведению при разрешении параметров во время выполнения.
ASP.NET Core