SemanticApiVersionAttribute Class
Definition
- Namespace
- Codebelt.Extensions.Asp.Versioning
- Assemblies
- Codebelt.Extensions.Asp.Versioning.dll
Defines semantic API version metadata.
public sealed class SemanticApiVersionAttribute : ApiVersionAttribute, IApiVersionProvider
- Inheritance
-
ApiVersionsBaseAttributeApiVersionAttributeSemanticApiVersionAttribute
- Implements
-
IApiVersionProvider
- Inherited Members
-
ApiVersionAttribute.GetHashCode()ApiVersionAttribute.DeprecatedApiVersionsBaseAttribute.Equals(object)ApiVersionsBaseAttribute.Versions
Examples
Use SemanticApiVersionAttribute when an endpoint contract uses Semantic Versioning instead of the usual major/minor API-version shape. The attribute parses the supplied text through SemanticApiVersionParser, so the declared metadata keeps its patch, pre-release, and build metadata.
using System.Linq;
using Codebelt.Extensions.Asp.Versioning;
namespace Codebelt.Extensions.Asp.Versioning;
public class SemanticControllerVersionMetadata
{
public string GetDeclaredVersion()
{
var attribute = new SemanticApiVersionAttribute("2.1.3-rc.1+build.7");
var version = attribute.Versions.OfType<SemanticApiVersion>().Single();
return version.ToString();
}
}
Constructors
| Name | Description |
|---|---|
| SemanticApiVersionAttribute(int, int, int, string, string) | Initializes a new instance of the SemanticApiVersionAttribute class. |
| SemanticApiVersionAttribute(string) | Initializes a new instance of the SemanticApiVersionAttribute class. |
See Also
ApiVersionAttribute