让我说我有一个显示这样的内容页面的路线/动作:
/Page/{slug}
其中 {slug} 可以是访问者输入的任何内容,但如果留空,则默认为“默认”。
我让我的路由定义处理 {slug} 为空或 Default 或其他任何情况的情况,所以设置很好。
现在,在请求的 slug(例如 Page)不存在的情况下,您会怎么做?
例如,有人请求 /Page/xyz 并且 XYZ 在我的数据存储中不存在。
1)我应该发出404(如果是,怎么做?我的选择:a)重定向到默认的404页面;b)没有 404 响应,只是一个友好的错误消息?)
2)我应该自动重定向到默认值吗?如果是这样,我必须发出 302、301 还是什么?
我知道这是有争议的,但仍然想就什么是最好的做法提出一些意见。还请提供几行代码,说明您将如何在 ASP.NET MVC 控制器操作中实现它。