node.js - 使用 Express 从 ASP.NET Web API 迁移到 Node.js

标签 node.js express

我面临的挑战是探索 Node.js 作为 ASP.NET Web API 的替代方案来提供 RESTful API。

我开发 ASP.NET Web API 一段时间了,并且已经习惯了在该框架中包含某些内容,我想知道其他人正在通过 Node.js 路线为其中一些内容做什么:-

  1. 针对 MS SQL 使用什么 ORM,而不是 Entity Framework
  2. 是否有一种很好的方法来处理路由,类似于使用路由模板在 Web API 中获得的路由(routeTemplate:“api/{controller}/{id}”)
    • 到目前为止,我正在使用 Express,但尚未找到在“顶层”应用此类内容的方法,以便我可以拥有单独的 Controller ...

到目前为止,我确信还会有很多很多问题,但这些是我最关心的问题,是否有人可以帮助解决这些问题?

最佳答案

  1. 对于 ORM,最常用的 2 个库是 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

您的管理/索引文件可以是 从“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/

相关文章:

javascript - 如何在 express node.js 中发送对 ajax post 请求的响应?[已回答]

mysql - Angular NodeJs multer upload img req.file 始终未定义

node.js - 配置 Gulp 'watch' 任务以进行非常基本的服务器重启(Node JS)

node.js - 将多个回调函数传递给 Express 路由

node.js - Express.js sendfile() 与 render()

javascript - Node JS - 在服务器的来回调用之间保留 session ?

node.js - 如何从命令行创建 Express EJS 项目?

javascript - CORS 飞行前返回 Access-Control-Allow-Origin :*, 浏览器仍然失败请求

javascript - 为什么我无法写入从数据库中获取的对象?

javascript - Node 跨 3 个文件导出