【发布时间】:2019-12-20 09:00:25
【问题描述】:
我有一个 Web API,对于一个模型,我只允许通过 id [GET] api/models/{modelId} 或更新 [PUT] api/models/{modelId} 获取。 API 不支持POST、DELETE 或获取集合([GET] api/models)。
还应该在Controller 中有这些方法并返回Forbid() 403 状态吗?
或者我应该简单地删除这些方法?
【问题讨论】:
-
如果它们不受支持,则根本不要包含它们
-
501 Not Implemented怎么样 -
或如果服务器确实识别了该方法,但故意不支持它,则适当的响应是
405 Method Not Allowed -
使用 .Net Core,如果您尝试使用不允许的 HTTP 动词
POST到任何已知路由,无论如何您都会收到405 Method Not Allowed响应。所以在这种情况下,如果你POST api/models/{modelId},你会得到一个405。
标签: c# asp.net-core asp.net-web-api url-routing asp.net-core-webapi