何时使用Nancy StaticConfiguration.DisableMethodNotAllowedResponses

时间:2016-03-03 11:29:37

标签: http nancy

我们最近更改了一些Nancy路线,并且测试失败了,并且没有使用405 MethodNotAllowed。

通过Nancy调试后,我们遇到了StaticConfiguration.DisableMethodNotAllowedResponses属性。将此值设置为true表示测试失败并带有404。

我的问题是,何时/为什么最好返回405而不是404?我可以理解这是有道理的,例如你试图POST到只支持GET的路线,但我不认为这与我们的场景相同。

路线改变之前:

Get["/web/api/somepath/{param1}/{param2}"]
Post["/web/api/somepath/{param1}"]

路线改变后:

Get["/web/api/somepath/{param1}/{param2}"]
Post["/web/api/somepath/{param1}/{param2}"]

我们的(过期)测试是POST到/web/api/somepath/param1Value

也许这只是与Nancy如何评分路线相关的边缘情况?

附加说明:我在DefaultRouteResolver.Resolve()中注意到以下行运行时,allowedMethods只包含GET(由于某种原因我无法调试到RouteResolverTrie代码):

var allowedMethods = this.trie.GetOptions(pathDecoded,context).ToArray();

(澄清一下,我希望allowMethods包含GET和POST)。

0 个答案:

没有答案