【发布时间】:2016-09-26 02:40:47
【问题描述】:
为每个控制器处理 Web api 端点的首选方法是什么? 例如,我的 MVC 控制器将调用不同的端点。 目前只有这些,但它可能会改变。
另外,我将在本地开发并部署到开发服务器。
http://localhost:42769/api/categories/1/products
http://localhost:42769/api/products/
public class ProductsController : Controller
{
HttpClient client;
string url = "http://localhost:42769/api/categories/1/products"; //api/categories/{categoryId}/products
public ProductsController()
{
client = new HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: Products
public async Task<ActionResult> ProductsByCategory()
{
HttpResponseMessage responseMessage = await client.GetAsync(url);
if (responseMessage.IsSuccessStatusCode)
{
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
var products = JsonConvert.DeserializeObject<List<GetProductsByCategoryID>>(responseData);
return PartialView(products);
}
return View("Error");
}
}
【问题讨论】:
-
一种老式的方法是使用 wcf stackoverflow.com/questions/13200381/…
标签: c# asp.net-mvc asp.net-web-api