【发布时间】:2015-01-08 03:14:48
【问题描述】:
我很反感没有找到解决这个问题的方法。
我开始使用 Web API 2 创建一个新的 api,但无法让 POST 和 PUT 工作。 Get all 和 Get single item 效果很好。
在任何地方都没有相关文章,我发现的文章仅与 Gets 和 Web API 有关,与 Web API 2 无关。
请提供任何帮助。
// POST: api/checkOuts
[HttpPost]
[ResponseType(typeof(checkOut))]
[ApiExplorerSettings(IgnoreApi = true)]
public async Task<IHttpActionResult> PostcheckOut(checkOut co)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.checkOuts.Add(checkOut);
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (checkOutExists(checkOut.id))
{
return Conflict();
}
else
{
throw;
}
}
return CreatedAtRoute("DefaultApi", new { id = checkOut.id }, checkOut);
}
所以基本上,我只是在尝试调试该方法。
对这个链接特别失望,因为它几乎涵盖了所有内容,但 ai。 http://www.asp.net/web-api/overview/web-api-routing-and-actions/create-a-rest-api-with-attribute-routing
问候
【问题讨论】:
-
您还可以发布周围的类声明吗?在测试时您是否在 REST 客户端中将请求类型设置为 HTTP POST?
-
谢谢,我已按照要求使用代码编辑了我的帖子。是的,我将其设置为使用 Chrome Postman、FireFox RestClient 和 FireFox Poster 发布和测试,错误代码 405 已返回。 PS!路由不是问题。
-
有一篇关于在发布 WebAPI 2 应用程序后解决 405 错误的文章,我不确定这是否提供任何帮助:http://www.asp.net/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications
-
我现在已经测试过了,仍然没有运气,至少我现在对 405 错误有了更好的理解。
标签: c# asp.net-web-api2