【发布时间】:2019-05-21 08:58:16
【问题描述】:
我正在使用 .NET Core 开发 Web API,当我向我的 Web api 发送帖子或更新时,我将返回资源。为此,在每个方法的末尾,我使用CreatedAtAction 方法,其中第一个参数是操作名称。
当我使用硬编码的操作名称时,例如CreatedAtAction("GetBook", [...],它可以工作。但是当我使用CreatedAtRoute(nameof(GetBook), [...] 时,我收到一条错误消息,提示没有路由匹配。有什么特别的原因吗?
【问题讨论】:
-
@remario 添加观察者并检查 nameof(GetBook) 返回的内容
-
如果
nameof(GetBook)没有返回"GetBook",那将是非常令人惊讶的。您的路由问题很可能与nameof的使用无关。 -
您将
CreatedAtAction("GetBook", [...]与“GetBook”一起使用,但将 nameof 与CreatedAtRoute一起使用。两种方法不同。错误很明显,因为您没有使用名称“GetBook”定义任何路由。尝试使用CreatedAtAction(nameof(GetBook), [...]
标签: c# asp.net asp.net-core .net-core asp.net-core-mvc