C# 自动测试目标web api版本
我还没有实现api的版本控制,因为我想先了解更多信息。 我正在使用asp.NETWebAPI,并使用AutoRest集成到WPF应用程序中。 它已经运行了几个月了,但我希望使用api的版本控制 对于从WPF到api的典型调用,有没有一种方法可以针对特定版本的apiC# 自动测试目标web api版本,c#,wpf,asp.net-web-api,autorest,C#,Wpf,Asp.net Web Api,Autorest,我还没有实现api的版本控制,因为我想先了解更多信息。 我正在使用asp.NETWebAPI,并使用AutoRest集成到WPF应用程序中。 它已经运行了几个月了,但我希望使用api的版本控制 对于从WPF到api的典型调用,有没有一种方法可以针对特定版本的api public async Task<ObservableCollection<EventsDTO>> GetEvents(bool ShowInActive) { try
public async Task<ObservableCollection<EventsDTO>> GetEvents(bool ShowInActive)
{
try
{
CheckCredentials.CheckValidCredentials();
using (var db = new BuxtedAPI(CheckCredentials.RestCredentials))
{
var res = await db.GetEventsAsync(ShowInActive).ConfigureAwait(false);
var obs = new ObservableCollection<EventsDTO>(res);
return obs;
}
}
catch (Exception ex)
{
logger.Error(ex);
return null;
}
}
公共异步任务GetEvents(bool ShowInActive)
{
尝试
{
CheckCredentials.CheckValidCredentials();
使用(var db=new BuxtedAPI(CheckCredentials.RestCredentials))
{
var res=await db.GetEventsAsync(ShowInActive).ConfigureAwait(false);
var obs=新的可观测集合(res);
返回obs;
}
}
捕获(例外情况除外)
{
记录器错误(ex);
返回null;
}
}
提前感谢。如果其他人有此问题
public async Task<ObservableCollection<EventsDTO>> GetEvents(bool ShowInActive)
{
try
{
CheckCredentials.CheckValidCredentials();
using (var db = new BuxtedAPI(CheckCredentials.RestCredentials))
{
db.HttpClient.DefaultRequestHeaders.Add("X-Version", "2.0");
var res = await db.GetEventsAsync(ShowInActive).ConfigureAwait(false);
var obs = new ObservableCollection<EventsDTO>(res);
return obs;
}
}
catch (Exception ex)
{
logger.Error(ex);
MessageBox.Show(
$"{ex.Message}{Environment.NewLine}{ex.InnerException?.ToString() ?? ""}");
return null;
}
}
和配置
config.AddApiVersioning(cfg =>
{
cfg.DefaultApiVersion = new ApiVersion(1, 0);
cfg.AssumeDefaultVersionWhenUnspecified = true;
cfg.ReportApiVersions = true;
cfg.ApiVersionReader = new HeaderApiVersionReader("X-Version");
});
config.AddApiVersioning(cfg =>
{
cfg.DefaultApiVersion = new ApiVersion(1, 0);
cfg.AssumeDefaultVersionWhenUnspecified = true;
cfg.ReportApiVersions = true;
cfg.ApiVersionReader = new HeaderApiVersionReader("X-Version");
});