如何指定API版本?

时间:2018-11-23 14:19:29

标签: c# rest azure azure-devops azure-devops-rest-api

根据Azure DevOps Services REST API Reference,请求URI具有以下格式:

https://{instance}[/{team-project}]/_apis[/{area}]/{resource}?api-version={version}

关于api-version

  

每个API请求都应包含一个api版本,以避免随着API的发展而中断您的应用或服务。

我开始使用.NET client libraries for Azure DevOps Services (and TFS)以编程方式管理仪表板。

我能够使用个人访问令牌连接到Azure DevOps:

var credential = new VssBasicCredential(string.Empty, "PersonalAccessToken");

using (VssConnection connection = new VssConnection(new Uri("...."), credential))
using (var client = connection.GetClient<DashboardHttpClient>())
{
     // ...
}

如何指定API版本?使用.NET client libraries时这样做仍然有意义吗?

1 个答案:

答案 0 :(得分:1)

API版本由客户端库决定。您可以通过拆卸它们来确认这一点(例如,使用ILSpy)。

例如,在Microsoft.TeamFoundationServer.Client的当前稳定版本中,DashboardHttpClientBase具有一个CreateDashboardAsnc方法,该方法将进行以下调用:

this.SendAsync<Dashboard>(..., new ApiResourceVersion("4.1-preview.2"), ...);