Table of Contents

SemanticApiVersionParser Class

Definition

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

Parses semantic API version strings into SemanticApiVersion instances.

public sealed class SemanticApiVersionParser : IApiVersionParser
Inheritance
SemanticApiVersionParser
Implements
IApiVersionParser

Examples

Use SemanticApiVersionParser when a raw API-version value must be parsed before it is passed into Asp.Versioning services. The parsed result is still an ApiVersion, but callers can use the semantic subtype to inspect patch, pre-release, and build metadata values.

using Asp.Versioning;
using Codebelt.Extensions.Asp.Versioning;

namespace Codebelt.Extensions.Asp.Versioning;

public class SemanticVersionRequestReader
{
    public string Describe(string requestedVersion)
    {
        var parser = new SemanticApiVersionParser();
        ApiVersion apiVersion = parser.Parse(requestedVersion);
        var semanticVersion = (SemanticApiVersion)apiVersion;

        return semanticVersion.Prerelease == null
            ? $"Stable API {semanticVersion.MajorVersion}.{semanticVersion.MinorVersion}.{semanticVersion.PatchVersion}"
            : $"Preview API {semanticVersion.Prerelease}";
    }
}

Properties

Name Description
Default

Gets the default parser instance.

Methods

Name Description
Parse(ReadOnlySpan<char>)

Parses the specified text.

TryParse(ReadOnlySpan<char>, out ApiVersion)

Attempts to parse the specified text.

See Also

IApiVersionParser