【发布时间】:2018-11-05 04:25:13
【问题描述】:
我的 ASP.NET Core Web API 应用程序的控制器中有两个操作:
[HttpGet("get-all")]
public IActionResult GetAll() { ... }
和
[HttpDelete("{id}")]
public IActionResult Delete(int id)
{
...
return RedirectToAction("GetAll");
}
Delete 动作总是重定向到它自己,而不是GetAll。为什么这样?同时,来自Post 的类似重定向操作也可以。
找不到有关该主题的任何文档。有什么帮助吗?
【问题讨论】:
-
为什么要在 web api 中重定向?
-
您可以在Delete action中通过HttpClient的GetAsync方法向GetAll action发出请求并返回结果。
-
@Brad,我只想将更新后的集合返回给客户端,而不向
GetAll发出新请求。 -
@Orhun,
RedirectToAction方法是用来做这件事的,不是吗? -
DRY 解决方案是让您的删除操作返回
NoContent(),然后让客户端请求GetAll()。
标签: asp.net-core asp.net-core-webapi asp.net-web-api-routing