我正在尝试开发MVC框架。
当用户创建新记录时,如果成功创建新记录,则显示新记录似乎是有意义的。
使用http重定向将用户移动到新记录的视图是否可以?
答案 0 :(得分:6)
不要这样做!针对该情况使用正确的HTTP响应代码。例如,如果用户将新记录发布到您的系统:
POST record/id
New record stuff
不仅可以将反馈作为带有笑脸的HTML表示,还可以作为正确的HTTP响应代码。
201 Created
答案 1 :(得分:2)
在显示新创建的记录时,您应该使用语义答案(即HTTP 201 - Created)响应“创建”操作,这通常被视为常态。
此外,添加一个指示新添加项目的“读取”操作的Location标头甚至更好。
你可能想看看理查森成熟度模型的观点,马丁福勒写下了一篇很好的article。
答案 2 :(得分:2)
如果您要创建记录,则建议使用HTTP 201状态代码。
但是,某些情况下您可能想要重定向。例如,您的api不再位于当前网址中,并且您希望将用户重定向到新网址。