Implicit Versioning​
You can populate Version numbers in all Request DTO's implementing IHasVersion
, i.e:
public class Hello : IReturn<HelloResponse>, IHasVersion
{
public int Version { get; set; }
public string Name { get; set; }
}
By assigning the Version
property on the Service Clients, e.g:
client.Version = 2;
Which will auto populate each Request DTO that implements IHasVersion
, e.g:
client.Get(new Hello { Name = "World" }); // Hello.Version=2
Version Abbreviation Convention​
A popular convention for specifying versions in API requests is with the ?v=1
QueryString which ServiceStack now uses as a fallback for populating any Request DTO's that implement IHasVersion
(as above).
INFO
as ServiceStack's message-based design promotes forward and backwards-compatible Service API designs, our recommendation is to only consider implementing versioning when necessary, at which point check out our recommended versioning strategy