如何测试我的web api方法

时间:2014-06-01 07:03:38

标签: asp.net-web-api asp.net-web-api2

我有一个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}

请帮忙。谢谢

2 个答案:

答案 0 :(得分:6)

为了测试api,您可以使用fiddler(http://www.telerik.com/fiddler)或名为邮递员的Chrome应用程序。

enter image description here

您还应该按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