diff --git a/PluralKit.API/Controllers/AccountController.cs b/PluralKit.API/Controllers/AccountController.cs index e8757c1b..e1541b47 100644 --- a/PluralKit.API/Controllers/AccountController.cs +++ b/PluralKit.API/Controllers/AccountController.cs @@ -9,8 +9,9 @@ using PluralKit.Core; namespace PluralKit.API { [ApiController] + [ApiVersion("1.0")] [Route("a")] - [Route("v1/a")] + [Route( "v{version:apiVersion}/a" )] public class AccountController: ControllerBase { private IDataStore _data; diff --git a/PluralKit.API/Controllers/MemberController.cs b/PluralKit.API/Controllers/MemberController.cs index 19f21842..72318a1e 100644 --- a/PluralKit.API/Controllers/MemberController.cs +++ b/PluralKit.API/Controllers/MemberController.cs @@ -9,8 +9,9 @@ using PluralKit.Core; namespace PluralKit.API { [ApiController] + [ApiVersion("1.0")] [Route("m")] - [Route("v1/m")] + [Route( "v{version:apiVersion}/m" )] public class MemberController: ControllerBase { private IDataStore _data; diff --git a/PluralKit.API/Controllers/MessageController.cs b/PluralKit.API/Controllers/MessageController.cs index 49190297..f5a5b849 100644 --- a/PluralKit.API/Controllers/MessageController.cs +++ b/PluralKit.API/Controllers/MessageController.cs @@ -24,8 +24,9 @@ namespace PluralKit.API } [ApiController] - [Route("v1/msg")] + [ApiVersion("1.0")] [Route("msg")] + [Route( "v{version:apiVersion}/msg" )] public class MessageController: ControllerBase { private IDataStore _data; diff --git a/PluralKit.API/Controllers/SystemController.cs b/PluralKit.API/Controllers/SystemController.cs index c3896e7f..9ff9fd6b 100644 --- a/PluralKit.API/Controllers/SystemController.cs +++ b/PluralKit.API/Controllers/SystemController.cs @@ -34,8 +34,9 @@ namespace PluralKit.API } [ApiController] + [ApiVersion("1.0")] [Route("s")] - [Route("v1/s")] + [Route( "v{version:apiVersion}/s" )] public class SystemController : ControllerBase { private IDataStore _data; diff --git a/PluralKit.API/PluralKit.API.csproj b/PluralKit.API/PluralKit.API.csproj index 4f1a137e..62149d74 100644 --- a/PluralKit.API/PluralKit.API.csproj +++ b/PluralKit.API/PluralKit.API.csproj @@ -14,6 +14,7 @@ + diff --git a/PluralKit.API/Startup.cs b/PluralKit.API/Startup.cs index a55dfcf2..cc5fa770 100644 --- a/PluralKit.API/Startup.cs +++ b/PluralKit.API/Startup.cs @@ -1,4 +1,4 @@ -using System; +using System; using Autofac; @@ -29,6 +29,12 @@ namespace PluralKit.API services.AddControllers() .SetCompatibilityVersion(CompatibilityVersion.Latest) .AddNewtonsoftJson(); // sorry MS, this just does *more* + + services.AddApiVersioning(c => + { + c.AssumeDefaultVersionWhenUnspecified = true; + c.DefaultApiVersion = ApiVersion.Parse("1.0"); + }); } public void ConfigureContainer(ContainerBuilder builder)