Typed results (Results<>) против IResult против IActionResult в ASP.NET Core 11
В ASP.NET Core 11 возвращайте Results<T1, TN> с TypedResults для minimal API и ActionResult<T> для контроллеров. Относитесь к голым IResult и IActionResult как к аварийным выходам: они компилируются для любого ответа, но ничего не сообщают OpenAPI, так что за них вы расплачиваетесь написанными вручную атрибутами ProducesResponseType.