我对此有一些了解,但我仍然觉得我错过了一些东西。这是我到目前为止的理解:
app.get()/app.post()
主要用于向服务器进行AJAX调用。然而,Routes
用于创建主要用于与DB /后端通信的API。
如果存在更多差异,有人可以详细说明吗?
答案 0 :(得分:0)
路由器为您的路线提供嵌套级别。您可以将它们视为更传统的MVC应用程序中的“控制器”(实际的路由器路由是控制器上的方法)。
您可以定义一个要绑定到/foo/bar
的路由器对象,.get()
下的每个.post
.use()
或/foo/bar
都会有/
路径,无论如何。
它使重用组件变得有用,因为内部路由本身在它被调用的路径下不知道。因此,您可以在不同路径下的许多应用程序中重用相同的路由方案。
我倾向于总是使用路由器对象(即使它只有一个而且是protected void ChangeEntity (IQueryable<BaseClass> list) {}
),因为它使代码读得更好并且更有条理。
答案 1 :(得分:0)
您是否使用get和post方法创建任何表单,如果没有创建,则感觉到行为。
快速路线方法 的 app.get()强> 通过此功能,您可以创建GET api,可以通过浏览器轻松打开并从查询字符串中获取数据。
<强> app.post()强> 这将创建发布网址,您也可以从正文中获取数据。
答案 2 :(得分:0)
不完全是。它们实际上基本上是一回事。与仅使用app
实例相比,路由更具可重用性/可测试性。
例如:
app.get('/Posts/:id', ...
相当于
var route = new Router();
route.get('/:id', ...
app.use('/Posts', route);
在路线与应用程序中您可以执行的操作没有任何限制,因此请不要将它们与功能级别分开考虑。对于良好的架构/测试/等等,这一点更为重要。
答案 3 :(得分:0)
感谢大家的快速回复。我在网上找到了几个文档,它们准确地描述了它们并清除了对它们的怀疑。请参考以下两个文档以供参考:
http://expressjs.com/4x/api.html#router
https://scotch.io/tutorials/learn-to-use-the-new-router-in-expressjs-4