Знали ли вы...



Что в .NET 7 при разработке API больше не требуется явно указывать атрибут [FromServices] для зависимостей, указанных в параметре метода?



Теперь биндинг параметров у действий в контроллерах также отслеживает то, что приходит из DI контейнера.



Соответственно, такой код спокойно отработает без ошибок:



Services.AddScoped<SomeCustomType>();



[Route("[controller]")]

[ApiController]

public class MyController : ControllerBase

{

public ActionResult Get(SomeCustomType service) => Ok();

}




Ну а в случае, когда такое неявное поведение не нравится или не требуется, его можно отключить следующим образом:



Services.Configure<ApiBehaviorOptions>(options =>

{

options.DisableImplicitFromServicesParameters = true;

})




Поделитесь в комментариях темами, которые хотелось бы разобрать на канале.