c# - 如何指定API版本?

标签 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版本:

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)以编程方式管理仪表板。

我能够使用个人访问 token 连接到 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"), ...);

关于c# - 如何指定API版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448377/

相关文章:

c# - 在 MVC4 中显示和错误,我必须实现一些接口(interface),但我已经完成了

c# - 我如何在 Vista 上设置 smtp 以便我可以使用 System.Net.Mail?

c# - 需要有关NullReferenceException的帮助

java - 如何使用 java/Spring/rest 将 post json 对象数据传递到 api

C#,使用反射获取switch中的每个case名称

java - 无法使用 Glassfish4 和 JAX-RS 绑定(bind) ContainerRequestFilter

rest - REST 仅适用于 Web API 吗?如果不是,那么除了 Web API 之外,还有哪些系统可以遵循 REST?

c# - 添加项目引用会阻止 Windows 服务启动 - 错误 1053

python - 在Azure ML上开始训练模型

azure - 如何将 Azure AD 添加为 AWS Cognito 联合 IdP