dotnet/AspNetCore.Docs

Support F# `Async<'T>` as an awaitable type in minimal APIs

Open

#31,140 建立於 2023年11月27日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)C# (13,093 star) (24,791 fork)batch import
9.0:bomb: vanQUESTHelp wantedPri1code help wantedseQUESTered

描述

I'm opening this as a placeholder to ensure that the changes from https://github.com/dotnet/aspnetcore/pull/46898 make it into the release notes for 9.0. See also: https://github.com/dotnet/aspnetcore/issues/46773.

I see that 8.0 had #28596, so this issue should be linked to the equivalent for 9.0, if there ends up being one.

Additions

  • Support F# Async<'T> as an awaitable type in minimal APIs endpoints.

Changes

  • New runtime coercions: unitvoid, when unit is the generic type argument of a generic awaitable type. These coercions apply both to minimal APIs endpoints as well as to controller action methods.

    • Task<unit>Task
    • ValueTask<unit>ValueTask
    • Async<unit>Task

    With default serialization settings, endpoints with the return types Task<unit> or ValueTask<unit>, whose response body was formerly the JSON token null, will now return an empty response body instead.

EDIT by @Rick-Anderson to add the following metadata

Page URL

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-9.0

Content source URL

https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/fundamentals/minimal-apis.md

Document ID

b09824ab-b051-75a1-13b7-b0e281cc46e0

Article author

Rick-Anderson



Associated WorkItem - 186857

貢獻者指南