创建带有rails的RESTful API是否遵循MVC架构



我刚分配给的一个应用程序使用ASP。NET MVC框架用于UI层。这让我想到了RubyonRails,以及MVC架构。

当我帮助构建一个带有rails的RESTful API时,我并没有真正使用View。。。只是RESTful端点和模型的控制器。

这是否意味着构建在Rails上的RESTful端点不遵循MVC架构,尽管Rails应该遵循MVC架构?

或者,Rails遵循MVC架构的事实是否意味着,即使没有真正的视图,构建在Rails上的RESTful端点也遵循MVC框架?

我想知道这是因为我当前的应用程序使用ASP。NET MVC框架,但只有一个视图和一个控制器,并对web服务进行AJAX调用以显示数据。我心想,它没有遵循MVC结构,这让我经过思考后得出了这个结论。

您的Rails API仍然是MVC。可以说,"视图"组件可能只是隐式生成的。也就是说,Rails有时会使用一组默认行为来生成隐式视图。例如,在API中,如果使用respond_to :jsonrespond_with(@my_object),那么JSON"视图"将自动生成为来自@my_object.to_json的响应。您可以通过重写@my_object.as_json方法来重写此"视图"。。。或者,您可以发挥奇思妙想,将Presenter层添加到对象中,并让它生成JSON"视图"代码。无论哪种方式,它仍然是MVC,即使您一直没有一个显式的视图模板。

此外,还存在一些Rails宝石,如RABL,如果您喜欢这种风格,它们会使"视图"组件/方法更加明确。

相关内容

最新更新