我有一个类,它完全模拟了我在数据库中的实体。我有一个存储过程,它接受新行的参数并返回表中的所有设置,这些设置又填充我的存储库。我能够在内存中的类型设置列表中看到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吗?
答案 0 :(得分:3)
您需要使用Fiddler(现在为Telerik产品)创建要测试的Setting类或项的JSON表示,并使用Composer选项卡。
接下来,您需要对以下网址执行POST:
http:// [您的基本网址] / api / settings
并传递JSON格式的设置类。
您可以在此处查看此示例:ASP.NET Web API - Scott Hanselman
答案 1 :(得分:0)