From a21465af9bdcdbd0931c394b5524406bed71b81c Mon Sep 17 00:00:00 2001 From: Chris Martinez Date: Wed, 5 Aug 2026 20:00:43 -0700 Subject: [PATCH] Fix broken links --- build/nuget.props | 2 +- .../WebApi/ByNamespaceWebApiExample/README.md | 2 +- .../WebApi/ByNamespaceExample/README.md | 2 +- .../Asp.Versioning.Analyzers/Descriptor.cs | 2 +- .../Descriptor.cs | 2 +- wiki/book.toml | 2 +- .../src/aspnet-core/quick-starts/migration.md | 10 +- wiki/src/shared/config/options.md | 2 +- wiki/src/shared/docs/odata-options-post.md | 4 +- wiki/src/shared/ext/clients.md | 2 +- wiki/src/shared/ext/custom-attributes-post.md | 2 +- .../shared/how-to/existing-services-post.md | 4 +- .../shared/how-to/naming-conventions-pre.md | 2 +- wiki/src/shared/how-to/overview-post.md | 10 +- wiki/src/shared/how-to/overview-pre.md | 2 +- .../how-to/version-advertisement-post.md | 2 +- wiki/src/shared/how-to/version-by-url-pre.md | 2 +- .../shared/quick-starts/migration-common.md | 27 ++++- wiki/src/shared/quick-starts/migration.md | 108 ------------------ wiki/src/shared/quick-starts/new-services.md | 9 +- wiki/src/shared/version-discovery.md | 2 +- 21 files changed, 57 insertions(+), 143 deletions(-) delete mode 100644 wiki/src/shared/quick-starts/migration.md diff --git a/build/nuget.props b/build/nuget.props index 2ff2ada2..c191b129 100644 --- a/build/nuget.props +++ b/build/nuget.props @@ -6,7 +6,7 @@ git https://github.com/dotnet/aspnet-api-versioning icon.png - https://github.com/dotnet/aspnet-api-versioning/wiki + https://dotnet.github.io/aspnet-api-versioning true MIT $(MSBuildThisFileDirectory)..\bin diff --git a/examples/AspNet/WebApi/ByNamespaceWebApiExample/README.md b/examples/AspNet/WebApi/ByNamespaceWebApiExample/README.md index c312f216..920b066c 100644 --- a/examples/AspNet/WebApi/ByNamespaceWebApiExample/README.md +++ b/examples/AspNet/WebApi/ByNamespaceWebApiExample/README.md @@ -6,4 +6,4 @@ decorate controllers with API versions and have them automatically versioned usi their type. Launch the project and try the [example requests](Examples.http) to view an API in action. -[wiki]: https://github.com/dotnet/aspnet-api-versioning/wiki/API-Version-Conventions#version-by-namespace-convention \ No newline at end of file +[wiki]: https://dotnet.github.io/aspnet-api-versioning/aspnet/config/conventions.html#namespace \ No newline at end of file diff --git a/examples/AspNetCore/WebApi/ByNamespaceExample/README.md b/examples/AspNetCore/WebApi/ByNamespaceExample/README.md index 7b049311..59d198f3 100644 --- a/examples/AspNetCore/WebApi/ByNamespaceExample/README.md +++ b/examples/AspNetCore/WebApi/ByNamespaceExample/README.md @@ -6,4 +6,4 @@ decorate controllers with API versions and have them automatically versioned usi their type. Launch the project and try the [example requests](Examples.http) to view an API in action. -[wiki]: https://github.com/dotnet/aspnet-api-versioning/wiki/API-Version-Conventions#version-by-namespace-convention \ No newline at end of file +[wiki]: https://dotnet.github.io/aspnet-api-versioning/aspnet-core/config/conventions.html#namespace \ No newline at end of file diff --git a/src/Analyzers/src/Asp.Versioning.Analyzers/Descriptor.cs b/src/Analyzers/src/Asp.Versioning.Analyzers/Descriptor.cs index e3d1c045..8cdcb9c1 100644 --- a/src/Analyzers/src/Asp.Versioning.Analyzers/Descriptor.cs +++ b/src/Analyzers/src/Asp.Versioning.Analyzers/Descriptor.cs @@ -14,7 +14,7 @@ private static DiagnosticDescriptor Diagnostic( DiagnosticSeverity defaultSeverity, string messageFormat ) { - var helpLink = $"https://github.com/dotnet/aspnet-api-versioning/wiki/analyzer-rules-{id}"; + var helpLink = $"https://dotnet.github.io/aspnet-api-versioning/diagnostic/{id.ToLowerInvariant()}.html"; return new( id, title, messageFormat, category, defaultSeverity, isEnabledByDefault: true, helpLinkUri: helpLink ); } diff --git a/src/Analyzers/src/Asp.Versioning.Api.Analyzers/Descriptor.cs b/src/Analyzers/src/Asp.Versioning.Api.Analyzers/Descriptor.cs index a39841e8..9979ac4b 100644 --- a/src/Analyzers/src/Asp.Versioning.Api.Analyzers/Descriptor.cs +++ b/src/Analyzers/src/Asp.Versioning.Api.Analyzers/Descriptor.cs @@ -16,7 +16,7 @@ private static DiagnosticDescriptor Diagnostic( string messageFormat, params string[] customTags ) { - var helpLink = $"https://github.com/dotnet/aspnet-api-versioning/wiki/analyzer-rules-{id}"; + var helpLink = $"https://dotnet.github.io/aspnet-api-versioning/diagnostic/{id.ToLowerInvariant()}.html"; return new( id, diff --git a/wiki/book.toml b/wiki/book.toml index e5e0cad9..b7906ff9 100644 --- a/wiki/book.toml +++ b/wiki/book.toml @@ -4,7 +4,7 @@ authors = ["Chris Martinez"] language = "en" [output.html] -site-url = "/docs/" +site-url = "/aspnet-api-versioning/" no-section-label = true git-repository-url = "https://github.com/dotnet/aspnet-api-versioning" edit-url-template = "https://github.com/dotnet/aspnet-api-versioning/edit/main/wiki/{path}" diff --git a/wiki/src/aspnet-core/quick-starts/migration.md b/wiki/src/aspnet-core/quick-starts/migration.md index 2ad8b1ef..e6d8d7ae 100644 --- a/wiki/src/aspnet-core/quick-starts/migration.md +++ b/wiki/src/aspnet-core/quick-starts/migration.md @@ -73,7 +73,7 @@ will continue to return `400` when versioning by query string or header, but tha [ApiVersioningOptions.UnsupportedApiVersionStatusCode]. Versioning by URL segment will always return `404`. Versioning by media type will always return `406` or `415`. -[ApiVersioningOptions.UnsupportedApiVersionStatusCode]: https://github.com/dotnet/aspnet-api-versioning/wiki/API-Versioning-Options#unsupported-api-version-status-code +[ApiVersioningOptions.UnsupportedApiVersionStatusCode]: ../config/options.md#unsupported-api-version-status-code The `UseApiVersioning()` middleware in ASP.NET Core has been removed. It never did anything except setup the `IApiVersioningFeature` in the current request, which doesn't require middleware. @@ -103,10 +103,4 @@ services.AddApiVersioning() // Core services with support for Minimal APIs - `ApiVersioningOptions.Conventions` has been moved to `MvcApiVersioningOptions.Conventions` as API Versioning no longer requires MVC Core - To configure conventions, use `.AddMvc(options => options.Conventions = ?)` via the `IApiVersioningBuilder` extension method - `ApiVersioningOptions.ControllerNameConvention` has been removed as an explicit option, but can be changed via dependency injection - - To configure a different naming convention, use `builder.Services.AddSingleton()` - -[RFC 7807]: https://datatracker.ietf.org/doc/html/rfc7807 -[Microsoft REST Guidelines error response format]: https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#710-response-formats -[OData JSON Format §21.1]: https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#_Toc38457793 -[Error Response backward compatibility]: https://github.com/dotnet/aspnet-api-versioning/wiki/Error-Responses#Backward-Compatibility -[Error Responses]: https://github.com/dotnet/aspnet-api-versioning/wiki/Error-Responses \ No newline at end of file + - To configure a different naming convention, use `builder.Services.AddSingleton()` \ No newline at end of file diff --git a/wiki/src/shared/config/options.md b/wiki/src/shared/config/options.md index b558e530..4ee7e64a 100644 --- a/wiki/src/shared/config/options.md +++ b/wiki/src/shared/config/options.md @@ -91,4 +91,4 @@ Regardless of the configured option, when versioning by: [IApiVersionSelector]: selector.md [Conventions]: conventions.md -[Policies]: ../how-to/version-policies.md \ No newline at end of file +[Policies]: ../version-policies.md \ No newline at end of file diff --git a/wiki/src/shared/docs/odata-options-post.md b/wiki/src/shared/docs/odata-options-post.md index 046a77ed..47bc4f8f 100644 --- a/wiki/src/shared/docs/odata-options-post.md +++ b/wiki/src/shared/docs/odata-options-post.md @@ -10,7 +10,7 @@ property determines whether the constructed URLs use qualified names. The defaul This option allows you to configure OData query options. The configuration for query options can be expressed purely by convention, through the use of supported OData query attribute, or both. The default behavior will always apply conventions from OData query attributes without additional configuration. For more information see the -[OData query options](odata-query-options.md) topic. +[OData query options](odata-options.md#query-options) topic. ### Metadata Options @@ -24,7 +24,7 @@ This property returns an `VersionedODataModelBuilder` that can be used for build that are used when defining the query options for APIs that do **not** use the full OData stack. Some OData query options can **only** be set via _Model Bound_ settings. This builder constructs an ad hoc EDM that will contain those settings solely for the purposes of API exploration and without opting into any other OData-specific features. For more -information see the [OData query options](odata-query-options.md) topic. +information see the [OData query options](odata-options.md#query-options) topic. ### Related Entity Id Parameter Description diff --git a/wiki/src/shared/ext/clients.md b/wiki/src/shared/ext/clients.md index 141822c5..bef72a0a 100644 --- a/wiki/src/shared/ext/clients.md +++ b/wiki/src/shared/ext/clients.md @@ -195,4 +195,4 @@ public class ApiInformation _Parsed API information_ [Asp.Versioning.Http.Client]: https://www.nuget.org/packages/Asp.Versioning.Http.Client -[IApiVersionReader]: ../../config/reader.md \ No newline at end of file +[IApiVersionReader]: ../config/reader.md \ No newline at end of file diff --git a/wiki/src/shared/ext/custom-attributes-post.md b/wiki/src/shared/ext/custom-attributes-post.md index 66fd8a22..93a947ca 100644 --- a/wiki/src/shared/ext/custom-attributes-post.md +++ b/wiki/src/shared/ext/custom-attributes-post.md @@ -1,4 +1,4 @@ This approach can help centralize API version management and avoid developer typographical errors when implementing a set of services that all use the same API version. -[API versioning options]: ../../config/options.md) \ No newline at end of file +[API versioning options]: ../config/options.md \ No newline at end of file diff --git a/wiki/src/shared/how-to/existing-services-post.md b/wiki/src/shared/how-to/existing-services-post.md index aea40afc..250f0461 100644 --- a/wiki/src/shared/how-to/existing-services-post.md +++ b/wiki/src/shared/how-to/existing-services-post.md @@ -1,5 +1,5 @@ If these basic configuration settings are still insufficient for your needs, then you will need to use or create an [API version selector] and register it in the [API versioning options]. -[API versioning options]: ../config/api-versioning-options.md -[API version selector]: ../config/api-version-selector.md \ No newline at end of file +[API versioning options]: ../config/options.md +[API version selector]: ../config/selector.md \ No newline at end of file diff --git a/wiki/src/shared/how-to/naming-conventions-pre.md b/wiki/src/shared/how-to/naming-conventions-pre.md index a6065dfa..4e621be2 100644 --- a/wiki/src/shared/how-to/naming-conventions-pre.md +++ b/wiki/src/shared/how-to/naming-conventions-pre.md @@ -20,4 +20,4 @@ Unfortunately, this can cause an issue for service API versioning if you want to different types. If the defining type is in a different .NET namespace, then there is no issue; however, if they are in the same namespace there would be a name collision. For example: -[ApiVersioningOptions.DefaultApiVersion]: ../config/api-versioning-options.md#default-api-version \ No newline at end of file +[ApiVersioningOptions.DefaultApiVersion]: ../config/options.md#default-api-version \ No newline at end of file diff --git a/wiki/src/shared/how-to/overview-post.md b/wiki/src/shared/how-to/overview-post.md index c5d4f59d..60b6fbee 100644 --- a/wiki/src/shared/how-to/overview-post.md +++ b/wiki/src/shared/how-to/overview-post.md @@ -2,13 +2,13 @@ Several API versioning methods are supported out-of-the-box: -- [By Query String](how-to/version-by-query-string.md) (default) -- [By Media Type](how-to/version-by-media-type.md) -- [By Header](how-to/version-by-header.md) -- [By URL Segment](how-to/version-by-url.md) +- [By Query String](version-by-query-string.md) (default) +- [By Media Type](version-by-media-type.md) +- [By Header](version-by-header.md) +- [By URL Segment](version-by-url.md) Multiple methods of API versioning can be supported simultaneously. Use the `ApiVersionReader.Combine` method to compose two or more [IApiVersionReader] instances together. You can also implement your own method of extracting the requested API version using a custom [IApiVersionReader]. -[IApiVersionReader]: config/api-version-reader.md \ No newline at end of file +[IApiVersionReader]: ../config/reader.md \ No newline at end of file diff --git a/wiki/src/shared/how-to/overview-pre.md b/wiki/src/shared/how-to/overview-pre.md index 6592eb87..31a92b49 100644 --- a/wiki/src/shared/how-to/overview-pre.md +++ b/wiki/src/shared/how-to/overview-pre.md @@ -23,7 +23,7 @@ a collection of endpoints; for example the _Orders_ API. What if we saw the rout part of the _Orders_ API or some other API? For this reason, API Versioning collates on the logical name of an API and not individual route templates. For more information see: [Controller Conventions]. -[Controller Conventions]: how-to/controller-conventions.md +[Controller Conventions]: naming-conventions.md ## Routing Methods diff --git a/wiki/src/shared/how-to/version-advertisement-post.md b/wiki/src/shared/how-to/version-advertisement-post.md index 577b6604..6f5a6082 100644 --- a/wiki/src/shared/how-to/version-advertisement-post.md +++ b/wiki/src/shared/how-to/version-advertisement-post.md @@ -9,4 +9,4 @@ versions when new API versions are released. One possible solution to this limit database. If this is still undesirable, then there is still the option of using HTTP header injection by the host server or another mechanism to send the supported and deprecated API version information. -[ApiVersioningOptions.ReportApiVersions]: ../configuring-your-application/api-versioning-options.md \ No newline at end of file +[ApiVersioningOptions.ReportApiVersions]: ../config/options.md#report-api-versions \ No newline at end of file diff --git a/wiki/src/shared/how-to/version-by-url-pre.md b/wiki/src/shared/how-to/version-by-url-pre.md index cddd6db7..bc5a49cc 100644 --- a/wiki/src/shared/how-to/version-by-url-pre.md +++ b/wiki/src/shared/how-to/version-by-url-pre.md @@ -11,4 +11,4 @@ is **not** part of the API version, but may be included in route templates if yo versioning. For more information and possible solutions to address this scenario, refer to the [known limitations]. [version format]: ../version-format.md -[known limitations]: ../known-limitations.md#url-path-segment-routing-with-a-default-api-version \ No newline at end of file +[known limitations]: ../limitations.md#url-path-segment \ No newline at end of file diff --git a/wiki/src/shared/quick-starts/migration-common.md b/wiki/src/shared/quick-starts/migration-common.md index 70fd7df8..cbea77f4 100644 --- a/wiki/src/shared/quick-starts/migration-common.md +++ b/wiki/src/shared/quick-starts/migration-common.md @@ -37,7 +37,7 @@ headers was an over-normalization that wasn't really necessary. Additional infor [sunset policies]. The `Report` overload that accepts `Lazy` has been removed as it's no longer used or necessary. -[sunset policies]: https://github.com/dotnet/aspnet-api-versioning/wiki/Version-Policies +[sunset policies]: ../version-policies.md ## API Version Model Extensions @@ -51,4 +51,27 @@ The following is the mapping between the old and new extension methods or proper - `GetApiVersionModel(ApiVersionMapping) → ApiVersionMetadata` - `GetApiVersionModel() → ApiVersionMetadata.Map(ApiVersionMapping.Explicit)` - `MappingTo(ApiVersion) → ApiVersionMetadata.MappingTo(ApiVersion)` -- `IsMappedTo(ApiVersion) → ApiVersionMetadata.IsMappedTo(ApiVersion)` \ No newline at end of file +- `IsMappedTo(ApiVersion) → ApiVersionMetadata.IsMappedTo(ApiVersion)` + +## Error Responses + +The `IErrorResponseProvider` service had been the hook to provide custom error responses. Problem Details ([RFC 7807]) +had only just been ratified when this project started and they were not part of ASP.NET yet. ASP.NET Core eventually +added first-class support for Problem Details and `IErrorResponseProvider` had an adapter implementation for alignment +in previous versions. Now that Problem Details are the de factor method for error reporting, it no longer makes sense to +retain `IErrorResponseProvider` and it has been removed. + +The error responses bodies provided by `IErrorResponseProvider` complied with the +[Microsoft REST Guidelines error response format], which is itself the error response format used by the OData protocol +(see [OData JSON Format §21.1]). If you need to retain that format, the [Error Response backward compatibility] topic +discusses how to enable it. + +`ProblemDetails.Type` could logically be used to model the established error `Code`; however, the value is supposed to +be a URI. For backward compatibility, the existing error codes will be emitted as the `Code` extension in Problem +Details. The [Error Responses] topic provides details for each well-known problem that may be returned in responses. + +[RFC 7807]: https://datatracker.ietf.org/doc/html/rfc7807 +[Microsoft REST Guidelines error response format]: https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#710-response-formats +[OData JSON Format §21.1]: https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#_Toc38457793 +[Error Response backward compatibility]: ../errors.md#backward-compatibility +[Error Responses]: ../errors.md \ No newline at end of file diff --git a/wiki/src/shared/quick-starts/migration.md b/wiki/src/shared/quick-starts/migration.md deleted file mode 100644 index 39cbbc5a..00000000 --- a/wiki/src/shared/quick-starts/migration.md +++ /dev/null @@ -1,108 +0,0 @@ -# Migration From Previous Versions - -This topic serves as the guide for migrating from version `<= 5.x.x` to version `>= 6.0.0`. The majority of this -information has been outlined in previous [discussions]. - ->[!TIP] ->If you'd like more information on the background context, you can read the [Hello Project "Asp"] announcement. - -For the most part, you can expect the required changes to be a new package identifier and different namespaces. It is -entirely possible that you may update those and find the rest of the code to be identical. The mileage will vary -depending on your level of customization, but you can expect the changes to be trivial in most cases. - -[discussions]: https://github.com/dotnet/aspnet-api-versioning/discussions -[Hello Project "Asp"]: https://github.com/dotnet/aspnet-api-versioning/discussions/807 - -## Package Identifiers - -The original `Microsoft.*` packages are now deprecated and will only undergo servicing: - -| Platform | Package | Version | TFM | -| --------------- | ---------------------------------------------- | -------- | --------------------- | -| ASP.NET Web API | Microsoft.AspNet.WebApi.Versioning | <= 5.x.x | net45 | -| ASP.NET Web API | Microsoft.AspNet.WebApi.Versioning.ApiExplorer | <= 5.x.x | net45 | -| ASP.NET Web API | Microsoft.AspNet.OData.Versioning | <= 5.x.x | net45 | -| ASP.NET Web API | Microsoft.AspNet.OData.Versioning.ApiExplorer | <= 5.x.x | net45 | -| ASP.NET Core | Microsoft.AspNetCore.Mvc.Versioning | <= 5.x.x | netcoreapp3.1, net5.0 | -| ASP.NET Core | Microsoft.AspNetCore.Mvc.ApiExplorer | <= 5.x.x | netcoreapp3.1, net5.0 | -| ASP.NET Core | Microsoft.AspNetCore.OData | <= 5.x.x | netcoreapp3.1, net5.0 | -| ASP.NET Core | Microsoft.AspNetCore.OData.ApiExplorer | <= 5.x.x | netcoreapp3.1, net5.0 | - -All new features and platform support will use the `Asp.Versioning.*` prefix: - -| Platform | Package | Version | TFM | -| --------------- | ------------------------------------------ | ------- | --------------------------------------- | -| All | Asp.Versioning.Abstractions | 6.0.0+ | net6.0+, netstandard1.0, netstandard2.0 | -| ASP.NET Web API | Asp.Versioning.WebApi | 6.0.0+ | net45, net472 | -| ASP.NET Web API | Asp.Versioning.WebApi.ApiExplorer | 6.0.0+ | net45, net472 | -| ASP.NET Web API | Asp.Versioning.WebApi.OData | 6.0.0+ | net45, net472 | -| ASP.NET Web API | Asp.Versioning.WebApi.OData.ApiExplorer | 6.0.0+ | net45, net472 | -| ASP.NET Core | Asp.Versioning.Http1 | 6.0.0+ | net6.0+ | -| ASP.NET Core | Asp.Versioning.Mvc2 | 6.0.0+ | net6.0+ | -| ASP.NET Core | Asp.Versioning.Mvc.ApiExplorer3 | 6.0.0+ | net6.0+ | -| ASP.NET Core | Asp.Versioning.OData | 6.0.0+ | net6.0+ | -| ASP.NET Core | Asp.Versioning.OData.ApiExplorer | 6.0.0+ | net6.0+ | -| All | Asp.Versioning.Http.Client | 6.0.0+ | net6.0+, netstandard1.1, netstandard2.0 | - -[1] Base library that supports _Minimal APIs_
-[2] MVC Core with controller support
-[3] Supports exploration of _Minimal APIs_ and controllers - -## Namespaces - -As the project is no longer part of Microsoft, all namespaces have become `Asp.Versioning.*`. It didn't make sense to -keep using `Microsoft.*` when things don't line up. Furthermore, what namespace should all new code live under? -Continuing to use the `Microsoft` namespace seemed _wrong_. An interesting benefit, however, is that using -`Api.Versioning.*` allows for more consistency across the ASP.NET Web API and Core implementations. The existing -differences in library namespaces for shared code often led to conditional compiler directives. For ease of use, -extension methods will continue to live in the namespace they correspond to. - -## API Version - -The format and default implementation has not changed, but parsing has been broken apart. The new `IApiVersionParser` -service has been introduced to support this capability. `ApiVersion.Parse` and `ApiVersion.TryParse` have been removed, -but are replaced by `ApiVersionParser.Default`, which will provide a default implementation. - -`ApiVersion.GroupVersion` in .NET 6.0 and beyond is now represented as `DateOnly`. `DateOnly` accurately represents how -a group or date version was always meant to be, but couldn't be represented without introducing its own type due to the -design of `DateTime`. The .NET Standard and .NET Framework representations will continue to use `DateTime`. - -## API Version Reader - -`IApiVersionReader.Read` now returns `IReadOnlyList` instead of `string?`. There are a few reasons for this -change. First, the _Null Mistake_ is removed as an empty list is completely acceptable. Second, it was entirely possible -for a particular reader implementation to return more than one value. Consider that `?api-version=1.0&api-version=2.0` -would return both `1.0` and `2.0`. In previous versions, the implementation would instead throw -`AmbiguousApiVersionException` that would have to be handled. That behavior becomes problematic for the server to -correctly report the response to the client. Reading multiple API version values in and of itself isn't exceptional, -it's just an invalid client request. `ApiVersionReader.Combine` also enables combining different types of readers -through composition. Readers for different parts of a request are even more likely to return different values. -Refactoring to return a list makes it very simple to return all of the raw API versions provided without any exceptions -and regardless of where they were read from. - -## API Version Reporting - -`IReportApiVersions.Report` now accepts the entire HTTP response as opposed to just the headers. Accepting only the -headers was an over-normalization that wasn't really necessary. Additional information was also necessary to support -[sunset policies]. The `Report` overload that accepts `Lazy` has been removed as it's no longer used -or necessary. - -[sunset policies]: https://github.com/dotnet/aspnet-api-versioning/wiki/Version-Policies - -## API Version Model Extensions - -Extension methods related to retrieving an `ApiVersionModel` have been supplanted by the new extension property -`ApiVersionMetadata`. The previous `GetApiVersionModel()` extension method, for example, was a shortcut for -`GetApiVersionModel(ApiVersionMapping.Explicit)`. A new type - `ApiVersionMetadata` - has been introduced that unifies -the metadata implementation across ASP.NET platforms. - -The following is the mapping between the old and new extension methods or properties: - -- `GetApiVersionModel(ApiVersionMapping) → ApiVersionMetadata` -- `GetApiVersionModel() → ApiVersionMetadata.Map(ApiVersionMapping.Explicit)` -- `MappingTo(ApiVersion) → ApiVersionMetadata.MappingTo(ApiVersion)` -- `IsMappedTo(ApiVersion) → ApiVersionMetadata.IsMappedTo(ApiVersion)` - - - - diff --git a/wiki/src/shared/quick-starts/new-services.md b/wiki/src/shared/quick-starts/new-services.md index 8a4704b7..26062edd 100644 --- a/wiki/src/shared/quick-starts/new-services.md +++ b/wiki/src/shared/quick-starts/new-services.md @@ -1,5 +1,10 @@ # New Services -When a service author creates new services that consider API versioning upfront, then the configuration and setup is very straightforward. The following examples provide a quick start setup for the respective platforms with default configurations. +When a service author creates new services that consider API versioning upfront, then the configuration and setup is +very straightforward. The following examples provide a quick start setup for the respective platforms with default +configurations. -API versions can be expressed with .NET attributes or by configured conventions. These examples all use .NET attributes. If you're interested in using conventions instead, please review the [API version conventions](../configuring-your-application/api-version-conventions.md) topic. \ No newline at end of file +API versions can be expressed with .NET attributes or by configured conventions. These examples all use .NET attributes. +If you're interested in using conventions instead, please review the [API version conventions] topic. + +[API version conventions]: ../config/conventions.md \ No newline at end of file diff --git a/wiki/src/shared/version-discovery.md b/wiki/src/shared/version-discovery.md index fe6603c5..64d21e8c 100644 --- a/wiki/src/shared/version-discovery.md +++ b/wiki/src/shared/version-discovery.md @@ -16,4 +16,4 @@ Service authors might also choose to implement the `OPTIONS` method so that clie API versions their service supports. [versioning policies]: version-policies.md -[ApiVersioningOptions.ReportApiVersions]: config/api-versioning-options.md \ No newline at end of file +[ApiVersioningOptions.ReportApiVersions]: config/options.md#report-api-versions \ No newline at end of file