在MVC Web应用程序中组织Web api URL

时间:2015-08-26 16:45:19

标签: asp.net-mvc asp.net-web-api

我正在修建一个使用现有web api获取数据的mvc web前端 Web api调用有7个或8个不同的URL,遍布控制器。

我打算用变量替换字符串,我想有一个中心位置来配置它,所以一旦我把web api放回服务器上,我只需要在一个地方更改URL变量,而不是通过控制器搜索。

这已经有了约定吗?如果没有,网络配置会是最佳位置吗?

1 个答案:

答案 0 :(得分:1)

如果是我,我会创建一个代理类来处理Web API。这将为您提供集中URI的位置,并隐藏直接使用API​​的详细信息(如处理http,身份验证,序列化等)。

class SomeApi {
  // or read this from config
  const string baseUrl = "https://some-site/api";

  public Task<Customer> GetCustomerAsync(int customerId) {
    // implement me
  }
}

// consumers don't have to know anything about urls, http, etc.
var api = new SomeApi();
var customer = await GetCustomerAsync(1234);