Nodejs下rrestjs高性能restful框架

Nodejs下rrestjs高性能restful框架

这个是web开发框架还是啥,URL怎么映射啊?

15 回复

Nodejs下rrestjs高性能restful框架

问题:这个是web开发框架还是啥,URL怎么映射啊?

简介

rrestjs 是一个用于Node.js的高性能RESTful API框架。它不仅是一个Web开发框架,更专注于简化RESTful服务的开发过程。通过使用rrestjs,你可以快速构建高效、可维护的RESTful API。

示例代码

以下是一个简单的例子来展示如何使用rrestjs来定义路由和处理HTTP请求。

  1. 安装rrestjs 首先,你需要在你的项目中安装rrestjs

    npm install rrestjs
    
  2. 创建一个简单的API 创建一个文件 app.js 并添加以下代码:

    const rrest = require('rrestjs');
    
    // 创建一个RESTful API实例
    const app = new rrest.App();
    
    // 定义一个GET路由
    app.get('/api/users', (req, res) => {
        res.json([
            { id: 1, name: 'Alice' },
            { id: 2, name: 'Bob' }
        ]);
    });
    
    // 定义一个POST路由
    app.post('/api/users', (req, res) => {
        const newUser = req.body;
        newUser.id = Date.now();
        res.status(201).json(newUser);
    });
    
    // 启动服务器
    app.listen(3000, () => {
        console.log('Server is running on port 3000');
    });
    

URL映射

  • /api/users 是一个GET请求,用于获取用户列表。
  • /api/users 是一个POST请求,用于创建新用户。

解释

  • rrest.App() 创建一个新的应用实例。
  • app.get('/api/users') 定义了一个GET请求的路由。
  • app.post('/api/users') 定义了一个POST请求的路由。
  • res.json() 将数据以JSON格式返回。
  • res.status(201) 设置HTTP状态码为201(表示资源已成功创建)。

通过这种方式,你可以轻松地定义和管理各种HTTP方法的路由,并且可以专注于业务逻辑而不是路由配置的细节。rrestjs还提供了更多的功能,例如中间件支持、错误处理等,使得构建RESTful API变得更加简单和高效。


rrestjs是web开发框架,相比expressjs取消了url映射表加快了速度。 例如用户访问 "http://www.cnodejs.org/article/blog" 则直接去配置好的controller目录执行 “require(‘controller/article’)[‘blog’](req, res)”; 快速响应。 如果没有找到相关控制器或方法,则输出404。

纠正一下,是直接在入口处执行 “require(‘controller/article’)‘blog’”;

安装不上,下面是详细信息: D:\nodejs>npm install rrestjs npm ERR! Error: Not found: rrestjs@’' npm ERR! Valid install targets: npm ERR! [“latest”] npm ERR! at installTargetsError (D:\nodejs\node_modules\npm\lib\cache.js:410 :10) npm ERR! at D:\nodejs\node_modules\npm\lib\cache.js:403:17 npm ERR! at saved (D:\nodejs\node_modules\npm\lib\utils\npm-registry-client
get.js:136:7) npm ERR! at Object.cb [as oncomplete] (D:\nodejs\node_modules\npm\node_modul es\graceful-fs\graceful-fs.js:36:9) npm ERR! Report this entire log at: npm ERR! http://github.com/isaacs/npm/issues npm ERR! or email it to: npm ERR! npm-@googlegroups.com npm ERR! npm ERR! System Windows_NT 5.1.2600 npm ERR! command “D:\nodejs\\node.exe” “D:\nodejs\node_modules\npm\bin\n pm-cli.js” “install” "rrestjs" npm ERR! cwd D:\nodejs npm ERR! node -v v0.6.1 npm ERR! npm -v 1.0.104 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! D:\nodejs\npm-debug.log npm not ok

不太明白,那如果我要映射查询参数到URL路径呢?

之前npm一直有点问题,现在已经好了,您可以npm install rrestjs, 如果有问题,可以在 npm update rrestjs 就能保证rrestjs是最新版本了

不明白您的意思,rrestjs是根据您请求的url路径自动加载controller的,rrestjs只是获取get参数封装成key-value对象,至于get参数的判断和获取是controller做的事情,和rrestjs框架无关。 您可以去https://github.com/DoubleSpout/rrestjs查看最新api,有详细说明。

安装不起,有问题

windows下的问题,是依赖模块装不上,你直接从github上打包下载吧

请教 请教始终没弄明白 var RestReq = require(’./RestReq’)(),//封装req RestRes = require(’./RestRes’)(),//封装res bridge = require(’./RestBridge’);

req和res是怎么传递到bridge里面去的

楼主好久没更新啦。

经过测试 好像只支持nodejs0.8的,之后最新的都不知道的,按照步骤操作就会报错的 ,害死我了

喂喂喂,你们怎么又挖坟了?!

Restify 是一个专门用于构建 RESTful Web 服务的高性能 Node.js 框架。它提供了许多内置的功能,如路由、中间件支持等,使开发者可以更方便地创建高效且可维护的服务端应用。

Restify 的主要特性:

  1. 路由:Restify 支持基于路径的路由。
  2. 中间件:允许你定义请求处理函数来处理各种场景,比如日志记录、身份验证等。
  3. 版本控制:可以通过 URL 路径或头部信息轻松实现 API 版本控制。
  4. 资源类型(Content Negotiation):可以根据客户端接受的 Accept 头部自动选择响应格式(如 JSON, XML 等)。

示例代码

以下是一个简单的 Restify 应用示例,演示了如何设置路由和返回数据。

首先,确保你已经安装了 Restify:

npm install restify

然后,你可以编写一个基本的应用程序文件,例如 server.js

const restify = require('restify');

// 创建服务器实例
const server = restify.createServer();

// 设置中间件
server.use(restify.plugins.bodyParser());

// 定义路由
server.get('/hello', (req, res, next) => {
    res.send({ message: 'Hello, World!' });
    return next();
});

// 定义另一个路由,并使用参数
server.get('/hello/:name', (req, res, next) => {
    res.send({ message: `Hello, ${req.params.name}!` });
    return next();
});

// 启动服务器
server.listen(8080, () => {
    console.log('%s listening at %s', server.name, server.url);
});

解释

  • 创建服务器:使用 restify.createServer() 创建一个新的 Restify 服务器实例。
  • 中间件server.use(restify.plugins.bodyParser()) 用于解析请求体中的数据。
  • 路由定义
    • server.get('/hello', ...) 定义了一个 GET 请求处理程序,当访问 /hello 时返回 “Hello, World!”。
    • server.get('/hello/:name', ...) 定义了另一个 GET 请求处理程序,可以捕获动态路径段(如 /hello/john),并从 req.params 获取 name 参数值。
  • 启动服务器:使用 server.listen(8080) 在端口 8080 上启动服务器。

通过这些步骤,你可以快速搭建起一个 RESTful 服务,并进行简单的路由管理。

回到顶部