在RESTful MVC框架中使用HTTP重定向是否可以?

时间:2012-03-10 18:22:27

标签: model-view-controller http rest redirect frameworks

我正在尝试开发MVC框架。

当用户创建新记录时,如果成功创建新记录,则显示新记录似乎是有意义的。

使用http重定向将用户移动到新记录的视图是否可以?

3 个答案:

答案 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不再位于当前网址中,并且您希望将用户重定向到新网址。