From 6ce00592870cb9a9f7d98839e75766ad9eb32c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleks=20Vuji=C4=87?= Date: Tue, 6 Aug 2024 12:38:20 +0200 Subject: [PATCH 1/4] Removed double space in object initialization (#33269) --- .../sample/final/ViewModels/CountryViewModel.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aspnetcore/mvc/views/working-with-forms/sample/final/ViewModels/CountryViewModel.cs b/aspnetcore/mvc/views/working-with-forms/sample/final/ViewModels/CountryViewModel.cs index 76adcc6f56e9..b51d82067a3a 100644 --- a/aspnetcore/mvc/views/working-with-forms/sample/final/ViewModels/CountryViewModel.cs +++ b/aspnetcore/mvc/views/working-with-forms/sample/final/ViewModels/CountryViewModel.cs @@ -11,7 +11,7 @@ public class CountryViewModel { new SelectListItem { Value = "MX", Text = "Mexico" }, new SelectListItem { Value = "CA", Text = "Canada" }, - new SelectListItem { Value = "US", Text = "USA" }, + new SelectListItem { Value = "US", Text = "USA" }, }; } -} \ No newline at end of file +} From 972d922aff16df41def6b57d730bcba5f652d826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= Date: Tue, 6 Aug 2024 12:45:16 -0700 Subject: [PATCH 2/4] Add plural localization examples for additional arguments (#33280) --- aspnetcore/fundamentals/portable-object-localization.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/aspnetcore/fundamentals/portable-object-localization.md b/aspnetcore/fundamentals/portable-object-localization.md index 1f558defc704..6cccb4964fa3 100644 --- a/aspnetcore/fundamentals/portable-object-localization.md +++ b/aspnetcore/fundamentals/portable-object-localization.md @@ -172,6 +172,14 @@ For the Czech culture, the three translations are different. The French and Engl ## Advanced tasks +### Using additional arguments + +The argument at index zero `{0}` always represents the count value. When invoking the `Plural` method it is possible to add additional arguments and their index will then start at one (`1`). + +```cshtml +

@Localizer.Plural(count, "There is one item with the color {1}.", "There are {0} items. The main color is {1}.", color)

+``` + ### Contextualizing strings Applications often contain the strings to be translated in several places. The same string may have a different translation in certain locations within an app (Razor views or class files). A PO file supports the notion of a file context, which can be used to categorize the string being represented. Using a file context, a string can be translated differently, depending on the file context (or lack of a file context). From e8c06488113dbf06c5d54803e540e5535dddbe42 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Tue, 6 Aug 2024 14:20:35 -0700 Subject: [PATCH 3/4] Update CODEOWNERS (#33283) Comment out most lines. --- .github/CODEOWNERS | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0dcd68ea8fcc..765b242c48fd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,6 +2,8 @@ # Each line is a file pattern followed by one or more owners. # More details are here: https://help.github.com/articles/about-codeowners/ +# Initial experience with this file was not all positive, so most lines are currently commented out. +# It will be easy to give it another trial should we decide to do that. # The '*' pattern is global owners. @@ -16,22 +18,22 @@ # /aspnetcore/client-side/ # /aspnetcore/common/ # /aspnetcore/data/ -/aspnetcore/diagnostics/ @Rick-Anderson -/aspnetcore/fundamentals/ @tdykstra +# /aspnetcore/diagnostics/ @Rick-Anderson +# /aspnetcore/fundamentals/ @tdykstra # /aspnetcore/getting-started/ -/aspnetcore/grpc/ @wadepickett -/aspnetcore/host-and-deploy/ @Rick-Anderson +# /aspnetcore/grpc/ @wadepickett +# /aspnetcore/host-and-deploy/ @Rick-Anderson # /aspnetcore/includes/ -/aspnetcore/log-mon/ @Rick-Anderson -/aspnetcore/migration/ @Rick-Anderson +# /aspnetcore/log-mon/ @Rick-Anderson +# /aspnetcore/migration/ @Rick-Anderson # /aspnetcore/mobile/ # /aspnetcore/mvc/ -# /aspnetcore/performance/ +/aspnetcore/performance/caching/ @tdykstra # /aspnetcore/razor-pages/ # /aspnetcore/release-notes/ -/aspnetcore/security/ @Rick-Anderson -/aspnetcore/signalr/ @wadepickett +# /aspnetcore/security/ @Rick-Anderson +# /aspnetcore/signalr/ @wadepickett # /aspnetcore/test/ -/aspnetcore/tutorials/ @wadepickett -/aspnetcore/web-api/ @wadepickett @Rick-Anderson -/aspnetcore/whats-new/ @Rick-Anderson +# /aspnetcore/tutorials/ @wadepickett +# /aspnetcore/web-api/ @wadepickett @Rick-Anderson +# /aspnetcore/whats-new/ @Rick-Anderson From 20aa4779df118471789a139f3c189c682a1e4f1c Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Tue, 6 Aug 2024 23:06:09 -0700 Subject: [PATCH 4/4] Follow-up to #33266 (#33281) * restructure toc.yml * redirect * restore .net 6-8 for minimal in toc * tweak toc * remove not-latest include * tweak toc * add links to go to and from .net 9 / .net 8 * restructure toc * fix folder name * fix file metadata * fix metadata, delete no-longer-needed includes * delete no-longer needed files * fix broken links * redirect * fix moniker tags --- .openpublishing.redirection.json | 5 +++ aspnetcore/fundamentals/minimal-apis.md | 2 +- .../minimal-apis/includes/minimal-apis6.md | 4 +- .../minimal-apis/includes/minimal-apis7.md | 2 +- .../minimal-apis/includes/openapi6.md | 31 ------------- .../includes/parameter-binding8.md | 2 +- .../minimal-apis/includes/responses7-8.md | 4 +- .../minimal-apis/includes/route-handlers.md | 2 +- .../fundamentals/minimal-apis/openapi.md | 16 ------- .../fundamentals/minimal-apis/responses.md | 4 +- .../openapi/aspnetcore-openapi.md | 12 +++-- .../includes/aspnetcore-openapi6-8.md} | 44 +++++++++++++++---- .../openapi/includes/overview6-8.md | 13 ++++++ aspnetcore/fundamentals/openapi/overview.md | 14 ++++-- aspnetcore/release-notes/aspnetcore-7.0.md | 2 +- aspnetcore/release-notes/aspnetcore-8.0.md | 2 +- aspnetcore/toc.yml | 2 +- aspnetcore/tutorials/min-web-api.md | 2 +- .../min-web-api/includes/min-web-api6-7.md | 2 +- .../min-web-api/includes/min-web-api8.md | 2 +- .../whats-new/dotnet-AspNetCore.Docs-mod4.md | 2 +- 21 files changed, 91 insertions(+), 78 deletions(-) delete mode 100644 aspnetcore/fundamentals/minimal-apis/includes/openapi6.md delete mode 100644 aspnetcore/fundamentals/minimal-apis/openapi.md rename aspnetcore/fundamentals/{minimal-apis/includes/openapi8.md => openapi/includes/aspnetcore-openapi6-8.md} (89%) create mode 100644 aspnetcore/fundamentals/openapi/includes/overview6-8.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index dbab27912d07..df2b63e08669 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -25,6 +25,11 @@ "redirect_url": "/aspnet/core/fundamentals/aot/request-delegate-generator/rdg_ids", "redirect_document_id": false }, + { + "source_path": "aspnetcore/fundamentals/minimal-apis/openapi.md", + "redirect_url": "/aspnet/core/fundamentals/openapi/aspnetcore-openapi", + "redirect_document_id": false + }, { "source_path": "aspnetcore/fundamentals/minimal-apis/handle-errrors.md", "redirect_url": "/aspnet/core/fundamentals/minimal-apis/handle-errors", diff --git a/aspnetcore/fundamentals/minimal-apis.md b/aspnetcore/fundamentals/minimal-apis.md index 091a514507ec..01603e980ba9 100644 --- a/aspnetcore/fundamentals/minimal-apis.md +++ b/aspnetcore/fundamentals/minimal-apis.md @@ -254,7 +254,7 @@ The following code disables `ValidateScopes` and `ValidateOnBuild` in `Developme ## See also * -* +* * * * diff --git a/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis6.md b/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis6.md index 8f36a1ed9b8e..5fbd3f464269 100644 --- a/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis6.md +++ b/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis6.md @@ -329,7 +329,7 @@ The preceding code displays `The link to the hello endpoint is /hello` from the Endpoint names: * Must be globally unique. -* Are used as the OpenAPI operation id when OpenAPI support is enabled. For more information, see [OpenAPI](xref:fundamentals/minimal-apis/openapi). +* Are used as the OpenAPI operation id when OpenAPI support is enabled. For more information, see [OpenAPI](xref:fundamentals/openapi/aspnetcore-openapi). ### Route Parameters @@ -753,6 +753,6 @@ For more information, see ## See also -[OpenAPI support in minimal APIs](xref:fundamentals/minimal-apis/openapi) +[OpenAPI support in minimal APIs](xref:fundamentals/openapi/aspnetcore-openapi) :::moniker-end diff --git a/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis7.md b/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis7.md index 7958e50af8a3..3f2b86490546 100644 --- a/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis7.md +++ b/aspnetcore/fundamentals/minimal-apis/includes/minimal-apis7.md @@ -221,7 +221,7 @@ Moved to uid: tutorials/min-web-api ## See also -* +* * * * diff --git a/aspnetcore/fundamentals/minimal-apis/includes/openapi6.md b/aspnetcore/fundamentals/minimal-apis/includes/openapi6.md deleted file mode 100644 index b8346976262c..000000000000 --- a/aspnetcore/fundamentals/minimal-apis/includes/openapi6.md +++ /dev/null @@ -1,31 +0,0 @@ -:::moniker range="= aspnetcore-6.0" - -An app can describe the [OpenAPI specification](https://swagger.io/specification/) for route handlers using [Swashbuckle](https://www.nuget.org/packages/Swashbuckle.AspNetCore/). - -The following code is a typical ASP.NET Core app with OpenAPI support: - -[!code-csharp[](~/fundamentals/minimal-apis/samples/WebMinAPIs/Program.cs?name=snippet_swag)] - -### Exclude OpenAPI description - -In the following sample, the `/skipme` endpoint is excluded from generating an OpenAPI description: - -[!code-csharp[](~/fundamentals/minimal-apis/samples/WebMinAPIs/Program.cs?name=snippet_swag2)] - -### Describe response types - -The following example uses the built-in result types to customize the response: - -[!code-csharp[](~/fundamentals/minimal-apis/samples/todo/Program.cs?name=snippet_getCustom)] - -### Add operation ids to OpenAPI - -[!code-csharp[](~/fundamentals/minimal-apis/samples/todo/Program.cs?name=snippet_name)] - -### Add tags to the OpenAPI description - -The following code uses an [OpenAPI grouping tag](https://swagger.io/docs/specification/grouping-operations-with-tags/): - -[!code-csharp[](~/fundamentals/minimal-apis/samples/todo/Program.cs?name=snippet_grp)] - -:::moniker-end diff --git a/aspnetcore/fundamentals/minimal-apis/includes/parameter-binding8.md b/aspnetcore/fundamentals/minimal-apis/includes/parameter-binding8.md index afa9a239ecde..10a6a0ddee88 100644 --- a/aspnetcore/fundamentals/minimal-apis/includes/parameter-binding8.md +++ b/aspnetcore/fundamentals/minimal-apis/includes/parameter-binding8.md @@ -196,7 +196,7 @@ Authenticated file upload requests are supported using an [Authorization header] #### Binding to forms with IFormCollection, IFormFile, and IFormFileCollection -Binding from form-based parameters using , , and is supported. [OpenAPI](xref:fundamentals/minimal-apis/openapi) metadata is inferred for form parameters to support integration with [Swagger UI](xref:tutorials/web-api-help-pages-using-swagger). +Binding from form-based parameters using , , and is supported. [OpenAPI](xref:fundamentals/openapi/aspnetcore-openapi) metadata is inferred for form parameters to support integration with [Swagger UI](xref:tutorials/web-api-help-pages-using-swagger). The following code uploads files using inferred binding from the `IFormFile` type: diff --git a/aspnetcore/fundamentals/minimal-apis/includes/responses7-8.md b/aspnetcore/fundamentals/minimal-apis/includes/responses7-8.md index ebeee7a3c83c..ef4ae1df7c9f 100644 --- a/aspnetcore/fundamentals/minimal-apis/includes/responses7-8.md +++ b/aspnetcore/fundamentals/minimal-apis/includes/responses7-8.md @@ -63,7 +63,7 @@ The and = aspnetcore-6.0' -ms.date: 4/24/2024 -uid: fundamentals/minimal-apis/openapi ---- - -# OpenAPI support in minimal API apps - -[!INCLUDE[](~/includes/not-latest-version.md)] - -[!INCLUDE[](~/fundamentals/minimal-apis/includes/openapi8.md)] -[!INCLUDE[](~/fundamentals/minimal-apis/includes/openapi6.md)] diff --git a/aspnetcore/fundamentals/minimal-apis/responses.md b/aspnetcore/fundamentals/minimal-apis/responses.md index 08ffb600f190..0a7714c7ae59 100644 --- a/aspnetcore/fundamentals/minimal-apis/responses.md +++ b/aspnetcore/fundamentals/minimal-apis/responses.md @@ -67,7 +67,7 @@ The and = aspnetcore-9.0' +monikerRange: '>= aspnetcore-6.0' ms.custom: mvc ms.date: 5/22/2024 uid: fundamentals/openapi/aspnetcore-openapi --- -# Get started with Microsoft.AspNetCore.OpenApi +# Work with OpenAPI documents + +:::moniker range=">= aspnetcore-9.0" The [`Microsoft.AspNetCore.OpenApi`](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi) package provides built-in support for OpenAPI document generation in ASP.NET Core. The package provides the following features: @@ -544,3 +546,7 @@ The output shows any issues with the OpenAPI document. ✖ 5 problems (0 errors, 5 warnings, 0 infos, 0 hints) ``` + +::: moniker-end + +[!INCLUDE[](~/fundamentals/openapi/includes/aspnetcore-openapi6-8.md)] diff --git a/aspnetcore/fundamentals/minimal-apis/includes/openapi8.md b/aspnetcore/fundamentals/openapi/includes/aspnetcore-openapi6-8.md similarity index 89% rename from aspnetcore/fundamentals/minimal-apis/includes/openapi8.md rename to aspnetcore/fundamentals/openapi/includes/aspnetcore-openapi6-8.md index 0c128ec3684a..bb2502b30419 100644 --- a/aspnetcore/fundamentals/minimal-apis/includes/openapi8.md +++ b/aspnetcore/fundamentals/openapi/includes/aspnetcore-openapi6-8.md @@ -1,12 +1,6 @@ -:::moniker range="> aspnetcore-6.0 < aspnetcore-9.0" +:::moniker range="> aspnetcore-6.0 <= aspnetcore-8.0" -The [OpenAPI specification](https://spec.openapis.org/oas/latest.html) is a programming language-agnostic standard for documenting HTTP APIs. This standard is supported in minimal APIs through a combination of built-in APIs and open-source libraries. There are three key aspects to OpenAPI integration in an application: - -* Generating information about the endpoints in the app. -* Gathering the information into a format that matches the OpenAPI schema. -* Exposing the generated OpenAPI schema via a visual UI or a serialized file. - -Minimal APIs provide built-in support for generating information about endpoints in an app via the `Microsoft.AspNetCore.OpenApi` package. Exposing the generated OpenAPI definition via a visual UI requires a third-party package. +Minimal APIs provide built-in support for generating information about endpoints in an app via the `Microsoft.AspNetCore.OpenApi` package. Exposing the generated OpenAPI definition via a visual UI requires a third-party package. For information about support for OpenAPI in controller-based APIs, see the [.NET 9 version of this article](?view=aspnetcore-9.0&preserve-view=true). The following code is generated by the ASP.NET Core minimal web API template and uses OpenAPI: @@ -207,3 +201,37 @@ Minimal APIs support API versioning via the [Asp.Versioning.Http package](https: * :::moniker-end + +:::moniker range="= aspnetcore-6.0" + +A minimal API app can describe the [OpenAPI specification](https://swagger.io/specification/) for route handlers using [Swashbuckle](https://www.nuget.org/packages/Swashbuckle.AspNetCore/). + +For information about support for OpenAPI in controller-based APIs, see the [.NET 9 version of this article](?view=aspnetcore-9.0&preserve-view=true). + +The following code is a typical ASP.NET Core app with OpenAPI support: + +[!code-csharp[](~/fundamentals/minimal-apis/samples/WebMinAPIs/Program.cs?name=snippet_swag)] + +## Exclude OpenAPI description + +In the following sample, the `/skipme` endpoint is excluded from generating an OpenAPI description: + +[!code-csharp[](~/fundamentals/minimal-apis/samples/WebMinAPIs/Program.cs?name=snippet_swag2)] + +## Describe response types + +The following example uses the built-in result types to customize the response: + +[!code-csharp[](~/fundamentals/minimal-apis/samples/todo/Program.cs?name=snippet_getCustom)] + +## Add operation ids to OpenAPI + +[!code-csharp[](~/fundamentals/minimal-apis/samples/todo/Program.cs?name=snippet_name)] + +## Add tags to the OpenAPI description + +The following code uses an [OpenAPI grouping tag](https://swagger.io/docs/specification/grouping-operations-with-tags/): + +[!code-csharp[](~/fundamentals/minimal-apis/samples/todo/Program.cs?name=snippet_grp)] + +:::moniker-end diff --git a/aspnetcore/fundamentals/openapi/includes/overview6-8.md b/aspnetcore/fundamentals/openapi/includes/overview6-8.md new file mode 100644 index 000000000000..477e491eeef3 --- /dev/null +++ b/aspnetcore/fundamentals/openapi/includes/overview6-8.md @@ -0,0 +1,13 @@ +:::moniker range=">= aspnetcore-6.0 <= aspnetcore-8.0" + +The [OpenAPI specification](https://spec.openapis.org/oas/latest.html) is a programming language-agnostic standard for documenting HTTP APIs. This standard is supported in minimal APIs through a combination of built-in APIs and open-source libraries. There are three key aspects to OpenAPI integration in an application: + +* Generating information about the endpoints in the app. +* Gathering the information into a format that matches the OpenAPI schema. +* Exposing the generated OpenAPI schema via a visual UI or a serialized file. + +Minimal APIs provide built-in support for generating information about endpoints in an app via the `Microsoft.AspNetCore.OpenApi` package. Exposing the generated OpenAPI definition via a visual UI requires a third-party package. + +For information about support for OpenAPI in controller-based APIs, see the [.NET 9 version of this article](?view=aspnetcore-9.0&preserve-view=true). + +:::moniker-end diff --git a/aspnetcore/fundamentals/openapi/overview.md b/aspnetcore/fundamentals/openapi/overview.md index 928b06b940df..7cca63e8636f 100644 --- a/aspnetcore/fundamentals/openapi/overview.md +++ b/aspnetcore/fundamentals/openapi/overview.md @@ -1,15 +1,19 @@ --- -title: How to use OpenAPI in ASP.NET Core API apps +title: Overview of OpenAPI support in ASP.NET Core API apps author: rick-anderson -description: Learn how to use OpenAPI features in ASP.NET Core. +description: Learn about OpenAPI features in ASP.NET Core. ms.author: wpickett -monikerRange: '>= aspnetcore-9.0' +monikerRange: '>= aspnetcore-6.0' ms.date: 8/02/2024 uid: fundamentals/openapi/overview --- # OpenAPI support in ASP.NET Core API apps +[!INCLUDE[](~/includes/not-latest-version.md)] + +:::moniker range=">= aspnetcore-9.0" + ASP.NET Core supports the generation of OpenAPI documents in controller-based and minimal APIs apps. The [OpenAPI specification](https://spec.openapis.org/oas/latest.html) is a programming language-agnostic standard for documenting HTTP APIs. This standard is supported in ASP.NET Core apps through a combination of built-in APIs and open-source libraries. There are three key aspects to OpenAPI integration in an application: @@ -65,3 +69,7 @@ the output directory by setting the `OpenApiDocumentsDirectory` property. ## Additional Resources * + +:::moniker-end + +[!INCLUDE[](~/fundamentals/openapi/includes/overview6-8.md)] diff --git a/aspnetcore/release-notes/aspnetcore-7.0.md b/aspnetcore/release-notes/aspnetcore-7.0.md index 182ec24570a7..fc522300cdeb 100644 --- a/aspnetcore/release-notes/aspnetcore-7.0.md +++ b/aspnetcore/release-notes/aspnetcore-7.0.md @@ -173,7 +173,7 @@ The [`WithOpenApi`](https://github.com/dotnet/aspnetcore/blob/8a4b4deb09c04134f2 Minimal APIs now support annotating operations with descriptions and summaries for OpenAPI spec generation. You can call extension methods and or use attributes [[EndpointDescription]](xref:Microsoft.AspNetCore.Http.EndpointDescriptionAttribute) and [[EndpointSummary]](xref:Microsoft.AspNetCore.Http.EndpointSummaryAttribute)). -For more information, see [OpenAPI in minimal API apps](xref:fundamentals/minimal-apis/openapi?view=aspnetcore-7.0) +For more information, see [OpenAPI in minimal API apps](xref:fundamentals/openapi/aspnetcore-openapi?view=aspnetcore-7.0) ### File uploads using IFormFile and IFormFileCollection diff --git a/aspnetcore/release-notes/aspnetcore-8.0.md b/aspnetcore/release-notes/aspnetcore-8.0.md index 2f3b8488852f..c2386b387da0 100644 --- a/aspnetcore/release-notes/aspnetcore-8.0.md +++ b/aspnetcore/release-notes/aspnetcore-8.0.md @@ -528,7 +528,7 @@ Starting in ASP.NET Core 8.0, the [RequestLocalizationOptions.CultureInfoUseUser Explicit binding to form values using the [[FromForm]](xref:Microsoft.AspNetCore.Mvc.FromFormAttribute) attribute is now supported. Parameters bound to the request with `[FromForm]` include an [anti-forgery token](xref:security/anti-request-forgery). The anti-forgery token is validated when the request is processed. -Inferred binding to forms using the , , and types is also supported. [OpenAPI](xref:fundamentals/minimal-apis/openapi) metadata is inferred for form parameters to support integration with [Swagger UI](xref:tutorials/web-api-help-pages-using-swagger). +Inferred binding to forms using the , , and types is also supported. [OpenAPI](xref:fundamentals/openapi/aspnetcore-openapi) metadata is inferred for form parameters to support integration with [Swagger UI](xref:tutorials/web-api-help-pages-using-swagger). For more information, see: diff --git a/aspnetcore/toc.yml b/aspnetcore/toc.yml index 9d7f342058d1..357c1fcd19e5 100644 --- a/aspnetcore/toc.yml +++ b/aspnetcore/toc.yml @@ -844,7 +844,7 @@ items: items: - name: Overview uid: fundamentals/openapi/overview - - name: Get started with Microsoft.AspNetCore.OpenApi + - name: Work with OpenAPI documents uid: fundamentals/openapi/aspnetcore-openapi - name: OpenAPI tools uid: fundamentals/openapi/openapi-tools diff --git a/aspnetcore/tutorials/min-web-api.md b/aspnetcore/tutorials/min-web-api.md index 3e7474585263..a541407f688a 100644 --- a/aspnetcore/tutorials/min-web-api.md +++ b/aspnetcore/tutorials/min-web-api.md @@ -664,7 +664,7 @@ If you run into a problem you can't resolve, compare your code to the completed * [Configure JSON serialization options](xref:fundamentals/minimal-apis/responses#configure-json-serialization-options). * Handle errors and exceptions: The [developer exception page](xref:web-api/handle-errors#developer-exception-page) is enabled by default in the development environment for minimal API apps. For information about how to handle errors and exceptions, see [Handle errors in ASP.NET Core APIs](xref:web-api/handle-errors). * For an example of testing a minimal API app, see [this GitHub sample](https://github.com/dotnet/AspNetCore.Docs.Samples/tree/main/fundamentals/minimal-apis/samples/MinApiTestsSample). -* [OpenAPI support in minimal APIs](xref:fundamentals/minimal-apis/openapi). +* [OpenAPI support in minimal APIs](xref:fundamentals/openapi/aspnetcore-openapi). * [Quickstart: Publish to Azure](/azure/app-service/quickstart-dotnetcore). * [Organizing ASP.NET Core Minimal APIs](https://www.tessferrandez.com/blog/2023/10/31/organizing-minimal-apis.html). diff --git a/aspnetcore/tutorials/min-web-api/includes/min-web-api6-7.md b/aspnetcore/tutorials/min-web-api/includes/min-web-api6-7.md index ad889d3909e2..d0e0ccfe57ac 100644 --- a/aspnetcore/tutorials/min-web-api/includes/min-web-api6-7.md +++ b/aspnetcore/tutorials/min-web-api/includes/min-web-api6-7.md @@ -443,7 +443,7 @@ If you run into a problem you can't resolve, compare your code to the completed * [Configure JSON serialization options](xref:fundamentals/minimal-apis/responses#configure-json-serialization-options). * Handle errors and exceptions: The [developer exception page](xref:web-api/handle-errors#developer-exception-page) is enabled by default in the development environment for minimal API apps. For information about how to handle errors and exceptions, see [Handle errors in ASP.NET Core APIs](xref:web-api/handle-errors). * For an example of testing a minimal API app, see [this GitHub sample](https://github.com/dotnet/AspNetCore.Docs.Samples/tree/main/fundamentals/minimal-apis/samples/MinApiTestsSample). -* [OpenAPI support in minimal APIs](xref:fundamentals/minimal-apis/openapi). +* [OpenAPI support in minimal APIs](xref:fundamentals/openapi/aspnetcore-openapi). * [Quickstart: Publish to Azure](/azure/app-service/quickstart-dotnetcore). * [Organizing ASP.NET Core Minimal APIs](https://www.tessferrandez.com/blog/2023/10/31/organizing-minimal-apis.html). diff --git a/aspnetcore/tutorials/min-web-api/includes/min-web-api8.md b/aspnetcore/tutorials/min-web-api/includes/min-web-api8.md index 3e4292d97723..d07c0939d62f 100644 --- a/aspnetcore/tutorials/min-web-api/includes/min-web-api8.md +++ b/aspnetcore/tutorials/min-web-api/includes/min-web-api8.md @@ -644,7 +644,7 @@ If you run into a problem you can't resolve, compare your code to the completed * [Configure JSON serialization options](xref:fundamentals/minimal-apis/responses#configure-json-serialization-options). * Handle errors and exceptions: The [developer exception page](xref:web-api/handle-errors#developer-exception-page) is enabled by default in the development environment for minimal API apps. For information about how to handle errors and exceptions, see [Handle errors in ASP.NET Core APIs](xref:web-api/handle-errors). * For an example of testing a minimal API app, see [this GitHub sample](https://github.com/dotnet/AspNetCore.Docs.Samples/tree/main/fundamentals/minimal-apis/samples/MinApiTestsSample). -* [OpenAPI support in minimal APIs](xref:fundamentals/minimal-apis/openapi). +* [OpenAPI support in minimal APIs](xref:fundamentals/openapi/aspnetcore-openapi). * [Quickstart: Publish to Azure](/azure/app-service/quickstart-dotnetcore). * [Organizing ASP.NET Core Minimal APIs](https://www.tessferrandez.com/blog/2023/10/31/organizing-minimal-apis.html). diff --git a/aspnetcore/whats-new/dotnet-AspNetCore.Docs-mod4.md b/aspnetcore/whats-new/dotnet-AspNetCore.Docs-mod4.md index 9c3842d47caa..d93a609a8486 100644 --- a/aspnetcore/whats-new/dotnet-AspNetCore.Docs-mod4.md +++ b/aspnetcore/whats-new/dotnet-AspNetCore.Docs-mod4.md @@ -72,7 +72,7 @@ Welcome to what's new in the ASP.NET Core docs for April 2024. This article list - Update not-latest and not-current include files - .NET 9 new feature - Internal Server Error TypedResults on Responses page - - Update not-latest and not-current include files -- +- - No swag - Mon prep - - fix RDG highlights after code samples update