我正在修建一个使用现有web api获取数据的mvc web前端 Web api调用有7个或8个不同的URL,遍布控制器。
我打算用变量替换字符串,我想有一个中心位置来配置它,所以一旦我把web api放回服务器上,我只需要在一个地方更改URL变量,而不是通过控制器搜索。
这已经有了约定吗?如果没有,网络配置会是最佳位置吗?
答案 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);