首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoRest目标web应用编程接口版本

AutoRest目标web应用编程接口版本
EN

Stack Overflow用户
提问于 2019-12-20 00:24:10
回答 1查看 74关注 0票数 0

我还没有实现对我的api的版本控制,因为我想先获得更多的信息。我正在使用WPF,并使用AutoRest集成到asp.net应用程序中。它已经运行了几个月,但我正在寻找与api一起使用版本控制。

对于从WPF到api的典型调用,有没有一种方法可以针对特定版本的api?

代码语言:javascript
复制
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;
        }
    }

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-12-20 18:51:59

如果其他人有这个问题的话。

代码语言:javascript
复制
 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;
        }
    }

在控制器上

代码语言:javascript
复制
public class EventV2Controller : ApiController
{
    [ApiVersion("2.0")]
    [RoutePrefix("api/events")]

和配置。

代码语言:javascript
复制
  config.AddApiVersioning(cfg =>
        {
            cfg.DefaultApiVersion = new ApiVersion(1, 0);
            cfg.AssumeDefaultVersionWhenUnspecified = true;
            cfg.ReportApiVersions = true;
            cfg.ApiVersionReader = new HeaderApiVersionReader("X-Version");
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59413530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档