我有一个类可以完全模拟我在数据库中的实体。我有一个存储过程,它接收新行的参数并返回表中的所有设置,这些设置又填充我的存储库。我可以在内存中的设置类型列表中看到 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?