我面临的挑战是探索 Node.js 作为 ASP.NET Web API 的替代方案来提供 RESTful API。
我开发 ASP.NET Web API 一段时间了,并且已经习惯了在该框架中包含某些内容,我想知道其他人正在通过 Node.js 路线为其中一些内容做什么:-
- 针对 MS SQL 使用什么 ORM,而不是 Entity Framework
- 是否有一种很好的方法来处理路由,类似于使用路由模板在 Web API 中获得的路由(routeTemplate:“api/{controller}/{id}”)
- 到目前为止,我正在使用 Express,但尚未找到在“顶层”应用此类内容的方法,以便我可以拥有单独的 Controller ...
到目前为止,我确信还会有很多很多问题,但这些是我最关心的问题,是否有人可以帮助解决这些问题?
最佳答案
- 对于 ORM,最常用的 2 个库是 knexjs 和 Sequelize,但我更喜欢 knex。
- 对于映射部分,据我所知,没有办法像在 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
您的管理/索引文件可以是 从“express”导入 express
const router = express.Router()
// POST /admin/login
router.post('/login', (req, res, next) => {
})
module.exports = router
有了这个,您将能够拥有更好的路线结构。
希望这能提出您的问题,如果它确实将我的答案标记为正确,如果没有,请告诉我您不明白的内容:D
关于node.js - 使用 Express 从 ASP.NET Web API 迁移到 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53206309/