gpt4 book ai didi

node.js - 在类中排序 RESTful API 方法的最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:47 25 4
gpt4 key购买 nike

我正在使用 TypeScript 构建一个公开 RESTful API 的 Node.js 网站。

将不同方法分离到不同类/文件的最佳实践是什么?

我想对于每个资源我需要创建一个单独的类。例如:

class Customers{
router.get('/customers');
router.post('/customers');
router.put('/customers');
router.delete('/customers');
}

class Orders{
router.get('/orders');
router.post('/orders');
router.put('/orders');
router.delete('/orders');
}

这是真的吗?如果我有许多资源,每个资源只包含一种方法怎么办?

例如:

    router.get('/orders');
router.post('/customers');
router.put('/products');
router.delete('/employees');

编辑:有人回答我,我可以将所有路由放在一个文件中,然后将处理程序分成多个文件。所以我的问题是:如何在逻辑上将它们排序/分离到不同的文件中(关于我在问题中编写的示例)?

注意:我不需要技术性的程序信息,而是需要逻辑分离的抽象解释。

最佳答案

我通常不会单独分离路由,所有路由都在主应用程序模块中配置:

// server.js

var routes = require('routes'); // handlers and not the route definitions
// list of routes
router.get('/orders', routes.orderList);
router.get('/orders/:id', routes.orderGet);
router.post('/customers', routes.customerCreate);

并在routes下文件夹我有处理程序:

├── routes
│   ├── index.js
│   ├── orderGet.js
│   ├── orderList.js
│   ├── customerCreate.js
│   ├── ...

index.js有一个所有路由器的列表(我认为可以改进为动态生成),每个路由处理程序如下所示:

// Require dependencies
var Q = require('q');
var models = require('../models');

/*
* GET order list.
*/

exports.route = function(req, res, next){
// Handle input parameters, generate the response
}

我的方法是每个路由有一个文件,并使用“methodGroupMeaning”之类的命名,例如“orderGet”、“orderList”等。

这样文件就会在文件系统中自然地分组(按名称排序)。即使对于具有许多路由的大型项目,也可以轻松找到所需的路由文件,同时路由模块保持小而干净。

关于node.js - 在类中排序 RESTful API 方法的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35110320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com