dotnet / dotnet/AspNetCore.Docs
Support F# `Async<'T>` as an awaitable type in minimal APIs
- Dominant language
- C#
- Stars
- 13.1k
- Forks
- 24.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 97
Description
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: `unit` ⇝ `void`, 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` → `Task`
- `ValueTask` → `ValueTask`
- `Async` → `Task`
With default serialization settings, endpoints with the return types `Task` or `ValueTask`, 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](https://dev.azure.com/msft-skilling/Content/_workitems/edit/186857)
Contributor guide
Assessment
This issue has not been assessed yet.