0

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

这是我放入 Fiddler 的内容:

POST 本地主机:54852/api/settings

请求标头

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

请求正文

ID=0&Category=Dried%20Goods&Sub_Category=Other&UnitSize=99&UnitOfMeasureID=999&Facings=true&Quantity=true&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?

4

2 回答 2

3

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

接下来,您将要对以下 URL 执行 POST:

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

并传递 JSON 格式的设置类。

你可以在这里看到一个例子:ASP.NET Web API - Scott Hanselman

于 2012-09-25T12:33:52.283 回答
0

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

从提琴手获取并发布到 webapi

在此处输入图像描述

于 2015-04-17T18:02:25.930 回答