我有一个web api方法:
[HttpPost, ActionName("GET")]
public string Get(string apiKey, DateTime start, DateTime end)
{
var user = db.Users.SingleOrDefault(u => u.Id == apiKey);
if (user == null)
{
return string.Empty;
}
var records = db.Histories.Where(h => h.Date >= start && h.Date <= end);
return JsonConvert.SerializeObject(records);
}
这是我试图调用该方法的url,但它没有达到该方法。
http://localhost:11847/api/History/Get?apiKey=398cfa9b-8c5c-4cf4-b4f3-8904a827ff22&start=2014-01-01&end=2014-12-01
我也改变了WebApiConfig.cs
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}",
defaults: new { id = RouteParameter.Optional }
);
从“api / {controller} / {id}”到“api / {controller} / {action}
请帮忙。谢谢
答案 0 :(得分:6)
为了测试api,您可以使用fiddler(http://www.telerik.com/fiddler)或名为邮递员的Chrome应用程序。
您还应该按http://www.getpostman.com/尝试POSTMAN,它可以作为应用添加到Chrome中。它真的很棒,让你组织你的apis。
答案 1 :(得分:1)
我发现了如何在Fiddler中编写网址:
在Composer面板中:
Parsed:
GET : http://localhost:11847/api/History/GetRecords?apiKey=398cfa9b-8c5c-4cf4-b4f3-8904a827ff22&start=2014-01-01&end=2014-12-01
Request Headers:
User-Agent: Fiddler
Content-Type: application/json
Host: localhost:11847
Content-Length: 0