【问题标题】:How can I test my asp.net web API method?如何测试我的 asp.net Web API 方法?
【发布时间】:2020-08-29 16:26:02
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    要测试 api,您可以使用 fiddler(http://www.telerik.com/fiddler) 或名为 postman 的 chrome 应用。

    您还应该尝试http://www.getpostman.com/ 的 POSTMAN,它可以作为应用添加到 chrome 中。它真的很好,可以让你组织你的 api。

    【讨论】:

    • 我正在使用 Fiddler。我只是不知道如何在 Fiddler 中写 url
    • Fiddler中的url怎么写?
    • 如果 fiddler 是压倒性的使用我使用的 Chrome 应用程序 POSTMAN。简单易行。
    • 邮递员 +1。它是测试方法的好工具
    • 嗨 DanKodi,我查看了我的问题和您的回答,发现您的帖子回答了我的问题(而我的帖子只回答了我在评论中的问题)。所以我把你的答案标记为我的答案:)
    【解决方案2】:

    我发现了如何在 Fiddler 中编写 url:

    在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-20
      • 2012-03-18
      • 1970-01-01
      • 2023-03-18
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      相关资源
      最近更新 更多