API versioning and OpenAPI
How to use API versioning and OpenAPI (Swagger) for your own APIs.
API versioning
using Asp.Versioning;
using Microsoft.Extensions.Options;
namespace My.Custom.Swagger;
public class MyConfigureApiVersioningOptions : IConfigureOptions<ApiVersioningOptions>
{
public void Configure(ApiVersioningOptions options)
=> options.ApiVersionReader = ApiVersionReader.Combine(
// the URL segment version reader is required for the Umbraco APIs
new UrlSegmentApiVersionReader(),
// here you can add additional version readers to suit your needs
new HeaderApiVersionReader("my-api-version"));
}
public static class MyConfigureApiVersioningUmbracoBuilderExtensions
{
// call this from Program.cs, i.e.:
// builder.CreateUmbracoBuilder()
// ...
// .ConfigureMyApiVersioning()
// .Build();
public static IUmbracoBuilder ConfigureMyApiVersioning(this IUmbracoBuilder builder)
{
builder.Services.ConfigureOptions<MyConfigureApiVersioningOptions>();
return builder;
}
}Swagger route and/or availability
Adding custom operation IDs
Adding custom schema IDs
Adding your own Swagger documents
Last updated
Was this helpful?