使用Fiddler2 POST到ASP.NET WebAPI

时间:2012-09-13 17:46:18

标签: rest post asp.net-web-api fiddler

我有一个类,它完全模拟了我在数据库中的实体。我有一个存储过程,它接受新行的参数并返回表中的所有设置,这些设置又填充我的存储库。我能够在内存中的类型设置列表中看到GET,PUT和DELETE的结果。我首先注意到,即使我关闭Visual Studio并重新打开并运行项目,有时候,List仍处于以前的状态。它不是从数据库中重新填充所以我不确定为什么这首先是......其次,我似乎无法从其他HTTP动词中获得来自Fiddler的POST。我看到Fiddler的值显示在下面的代码中,但是我收到错误:无效的URI:无法确定URI的格式。如果我传递了ID,我会得到同样的错误。

以下是我向Fiddler提出的内容:

  

POST localhost:54852 / api / settings

请求标题

User-Agent: Fiddler
Content-type: application/x-www-form-urlencoded
Host: localhost:54852
Content-Length: 149

请求正文

  

ID = 0&安培;类别=干%20Goods&安培; Sub_Category =其他&安培;设置unitsize = 99&安培; UnitOfMeasureID = 999&安培;令片=真安培;数量=真安培; EverydayPrice = 999.99&安培; PromotionPrice = 111.11

我的SettingsController中的PostSetting函数

     public HttpResponseMessage PostSetting(Setting item)
    {
        item = repository.Add(item);            
        var response = new HttpResponseMessage<Setting>(item) { StatusCode = HttpStatusCode.Created };
        string uri = Url.Route("DefaultApi", new { id = item.ID });
        response.Headers.Location = new Uri(uri);
        return response;
    }

我应该创建一个从数据库获取MAXID的新程序,并将其用作上面创建新ID的行中的新ID吗?

2 个答案:

答案 0 :(得分:3)

您需要使用Fiddler(现在为Telerik产品)创建要测试的Setting类或项的JSON表示,并使用Composer选项卡。

接下来,您需要对以下网址执行POST:

http:// [您的基本网址] / api / settings

并传递JSON格式的设置类。

您可以在此处查看此示例:ASP.NET Web API - Scott Hanselman

答案 1 :(得分:0)

这是一段简短的视频,展示如何轻松实现

get and post to webapi from fiddler

enter image description here