Table of Contents

MapToSemanticApiVersionAttribute Class

Definition

Namespace
Codebelt.Extensions.Asp.Versioning
Assemblies
Codebelt.Extensions.Asp.Versioning.dll
Source
src/Codebelt.Extensions.Asp.Versioning/MapToSemanticApiVersionAttribute.cs

Maps an API implementation to a semantic API version.

public sealed class MapToSemanticApiVersionAttribute : MapToApiVersionAttribute, IApiVersionProvider
Inheritance
ApiVersionsBaseAttribute
MapToApiVersionAttribute
MapToSemanticApiVersionAttribute
Implements
IApiVersionProvider
Inherited Members
ApiVersionsBaseAttribute.Equals(object)
ApiVersionsBaseAttribute.GetHashCode()
ApiVersionsBaseAttribute.Versions

Examples

Use MapToSemanticApiVersionAttribute when one implementation advertises multiple semantic API versions and a specific action should handle only one of them. The example constructs the same metadata an action attribute declaration would create and reads back the mapped semantic API version.

using System.Linq;
using Codebelt.Extensions.Asp.Versioning;

namespace Codebelt.Extensions.Asp.Versioning;

public class SemanticActionMapping
{
    public string GetMappedVersion()
    {
        var attribute = new MapToSemanticApiVersionAttribute("1.2.3-alpha+build.5");
        var version = attribute.Versions.OfType<SemanticApiVersion>().Single();

        return version.ToString();
    }
}

Constructors

Name Description
MapToSemanticApiVersionAttribute(int, int, int, string, string)

Initializes a new instance of the MapToSemanticApiVersionAttribute class.

MapToSemanticApiVersionAttribute(string)

Initializes a new instance of the MapToSemanticApiVersionAttribute class.

See Also

MapToApiVersionAttribute