如何指定API版本?
How to specify the API version?
根据 Azure DevOps Services REST API Reference,请求 URI 具有以下格式:
https://{instance}[/{team-project}]/_apis[/{area}]/{resource}?api-version={version}
关于 api-version
:
Every API request should include an api-version to avoid having your app or service break as APIs evolve.
我开始使用 .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 时这样做是否仍然有意义?
API 版本由客户端库决定。您可以通过反汇编它们来确认这一点(例如使用 ILSpy)。
例如,在 Microsoft.TeamFoundationServer.Client
的当前稳定版本中,DashboardHttpClientBase
有一个 CreateDashboardAsnc
方法进行以下调用:
this.SendAsync<Dashboard>(..., new ApiResourceVersion("4.1-preview.2"), ...);
根据 Azure DevOps Services REST API Reference,请求 URI 具有以下格式:
https://{instance}[/{team-project}]/_apis[/{area}]/{resource}?api-version={version}
关于 api-version
:
Every API request should include an api-version to avoid having your app or service break as APIs evolve.
我开始使用 .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 时这样做是否仍然有意义?
API 版本由客户端库决定。您可以通过反汇编它们来确认这一点(例如使用 ILSpy)。
例如,在 Microsoft.TeamFoundationServer.Client
的当前稳定版本中,DashboardHttpClientBase
有一个 CreateDashboardAsnc
方法进行以下调用:
this.SendAsync<Dashboard>(..., new ApiResourceVersion("4.1-preview.2"), ...);