从ASP.NET Web API到带有Express的Node.js



我面临着探索node.js作为ASP替代方案的任务。NET Web API提供了一个RESTful API。

我一直在开发ASP。NET Web API已经有一段时间了,并且已经习惯了在该框架内拥有某些东西,我想知道其他人在node.js路径上对其中一些东西做了什么:-

  1. 针对MS SQL而不是实体框架使用什么ORM
  2. 有没有一种很好的方法来处理路由,类似于使用路由模板(routeTemplate:"API/{controller}/{id}"(在Web API中获得的路由
    • 到目前为止,我正在使用Express,还没有找到在"顶级"应用这样的东西的方法,这样我就可以拥有单独的控制器

到目前为止,我相信还有很多更多的问题要问,但如果有人能帮忙,这些都是我最关心的问题吗?

  1. 对于ORM,使用最多的两个库是knexjs和sequelize,然而,我更喜欢knex
  2. 对于映射部分,据我所知,没有一种方法可以像在c#中那样做到这一点。通常我所做的是,在app.js中加载一个带有路由索引的文件。这里是一个例子

在您的app.js 中

app.use('/', require('./backend/routes/index'))

然后,在您的路线/索引中

import express from 'express'
const router = express.Router()
// GET /
router.get('/', function (req, res) {
})
// GET /countries
router.get('/countries', (req, res, next) => {
})
// POST /subscribe
router.post('/subscribe', checkAuth, generalBodyValidation, (req, res, next) => {
})
// All routes to /admin are being solved in the backend/routes/admin/index file
router.use('/admin', require('./backend/routes/admin/index'))
module.exports = router

您的管理/索引文件可以是从"快递"进口快递

const router = express.Router()
// POST /admin/login
router.post('/login', (req, res, next) => {
})
module.exports = router

有了这个,你将能够有一个更好的路线结构。

希望这能问到你的问题,如果它确实标记了我的答案是正确的,如果没有告诉我你不明白的地方:D

最新更新