现在我有两个控制器,一个用于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));
}
}
我试图了解如何使用HttpWebRequest在C#代码中调用我的Charts生成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 }
答案 0 :(得分:0)
响应代码500意味着您的API操作中存在一些错误。它与您的路线或您的请求方式无关。如果正在开发中,请在浏览器的开发人员工具中检查响应,您应该能够在那里看到实际服务器错误的描述。如果这是在生产中,您需要以某种方式记录错误,例如使用ELMAH,以便您可以看到导致问题的原因。