404取决于查询字符串参数或严格如果路由存在

时间:2013-03-29 12:16:36

标签: asp.net-mvc web-applications asp.net-mvc-routing

假设我有一个像/ Item / Create /这样的路由,它创建一个新的Item但需要一个名为GroupId的强制参数。它必须通过/ Item / Create?GroupId = xxx调用。 如果给定的GroupId不存在,我可以返回404,或者根据查询字符串参数返回404是错误的吗?

我知道如果我的路线本身是/ Item / Create / {GroupId}并且找不到GroupId,那么返回404就没有问题。

1 个答案:

答案 0 :(得分:1)

本身并非“错误”,状态404表示“未找到资源”,您找不到尚未指定的资源。但是,状态400(错误请求)可能更合适。它实际上归结为错误代码的预期含义以及您对错误的解释。

完整的状态代码列表可在RFC 2616的第10部分中找到。 4xx(错误)代码从section 10.4开始。