【发布时间】:2015-03-03 04:37:16
【问题描述】:
现在我有两个控制器,一个用于 MVC,另一个用于 API。
// API
public class UsersController : ApiController
{
// GET: api/Users <- works great
public IQueryable<User> GetUsers() {}
// **Not sure if this one is correct!**
public IHttpActionResult GetUsersChart([FromURI]int id)
{
return Ok(repo.GetUsersChart(id));
}
}
我想了解如何在 C# 代码中使用 HttpWebRequest 调用我的图表生成 api?
类似这样的:
HttpWebRequest createChartRequest =
WebRequest.Create(String.Format("{0}/api/Users/Chart/?id={1}", ServerUrl, 1));
会给我 HTTP 500 错误。
更新:
这里是路由配置:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
【问题讨论】:
-
根据要求更新。
-
只是一个健全的检查 - 你的变量 ServerUrl 没有恰好有一个斜杠 ('/') 对吗?
-
不,一切都很好,我尝试了其他 GetUsers API,它工作正常。
-
尝试
{0}/api/Users/UsersChart/{1}作为您的格式字符串。 -
你可能需要用 [HttpGet] 装饰你的 GetUsersChart() 方法
标签: c# asp.net asp.net-mvc asp.net-web-api asp.net-web-api2