如何在面向Web、Ajax和API的MEAN MVC中组织方法,避免代码重复



我刚开始学习MEAN并使用它创建我的第一个项目。

我正在用Node JS和Express实现MVC模型,它工作得很好。

问题是,我有几个调用者的方法与相同的数据-从API,直接在web中,并从角在web和移动。他们期望不同的数据格式——一些是纯HTML,而另一些是JSON。

问题是如何正确组织方法?

  • 带代码复制:
    函数A()(返回呈现的html)
    函数AfromAPIorAJAX()(返回JSON)

  • 或者可以在router中使用额外的FORMAT参数:
    函数A (format) (if format == HTML return HTML else return JSON)

  • 或者尝试通过XHR识别调用者接受类型(不确定它是否适用于API)?:
    函数A()(如果需要)

你能推荐什么吗?

您如何组织大型MEAN项目中的方法?

谢谢。

更新:现实世界的例子:

我有模型文章。它的控制器有create, list, delete等方法。

我想有一个网页上的路由"/文章",列出所有最近的文章。该页面还必须有类别过滤块-如果点击它更新文章列表通过AngularJS从该类别的文章(当然,这一切都可以用angular完成,但我想要一个页面默认的文章可用,并很容易被谷歌索引,并使用angular只是为了更新文章在飞)。

我还想有路由"/api/articles",将返回JSON格式的文章列表GET请求(顺便说一句,这条路由可能也被上面的angular js过滤器使用)。

所以问题有多少方法我需要为此目的在文章控制器创建-"列表"one_answers"renderList",或只是"列表(格式)",或"列表",将寻找xhr(再次不知道如果API客户端发送xhr),或任何其他你的变体?

好吧,伙计们,看起来当前的stackoverflow社区是无用的,但我发现在以前的帖子中我的问题的回应:在express.js中,有什么方法可以在一个函数中捕获json和html的请求?

相关内容

  • 没有找到相关文章

最新更新