网站首页> 博客> 使用HAPI搭建 restful api

使用HAPI搭建 restful api

好文 1358
magiczhang
magiczhang 2017-02-27
收藏

A rich framework for building applications and services

hapi enables developers to focus on writing reusable application logic instead of spending time building infrastructure.

1
$ npm install hapi

以上是HAPI官网对这一框架的介绍。简单来说就是帮助开发者建造可复用的后端逻辑,为应用提供强大的api。

安装的方式很简单,同express相似,npm install hapi 。这一框架在github上有将近7000的star,同它的老大哥express的2万8千多还是相差甚远,但是框架的意义在于解决实际工作中的重复劳动,简化开发流程,优化开发速度。在构建api方面,hapi还是跟express有一拼的,生态方面也良好,https://github.com/hapijs 组织里将近80个的插件。

文档方面也很友好,http://hapijs.com/tutorials 里叙述详细,对nodejs熟悉的后端能很快的上手,有express经验的同学或许会有些疑惑,因为hapi里很多功能的实现与express不同了,但是细读文档,你会发现还是有很多相似的地方。

举个简单的例子,express里我想给response加一个方法,我只要使用express的实例app的use方法。

1
2
3
4
5
6
7
8
9
1
app.use(function(req, res, next){
res.apiSuccess = function (data) {
res.json({
status: "OK",
result: data
})
}
next()
})

这样一个反应api请求成功的res拓展方法就完成了。而hapi中,你需要在hapi项目里创建的server下(server = new Hapi.Server()),使用它的handler方法。

1
2
3
4
5
6
7
8
9
10
11
12
13

const Hapi = require('hapi');
const server = new Hapi.Server();
server.connection({ host: 'localhost', port: 8000 });
const handler = function (route, options) {
return function (request, reply) {
return reply('new handler: ' + options.msg);
}
};
server.handler('test', handler);
server.route({
method: 'GET',
path: '/',
handler: { test: { msg: 'test' } }
});
server.start(function (err) {
});

在这里我们使用了server.handler注册了一个test放法,在之后的server.route中我们直接使用了test并为其添加了一个键值。之后访问 yourpath/ 你就会看到浏览器上显示new handler test

之后还会继续研究hapi这个框架,毕竟之后的项目要在这一框架上运行,我也要利用这一框架开发出健壮的后端api,努力!

  • 没有任何评论
个评论
magiczhang

magiczhang (青铜)

5金币 (0)粉丝 (3)源码

(该家伙很懒,什么也没说!)

 

加入微信群,不定期分享源码和经验
签到活跃榜 连续签到送额外金币
最新博客
校园跑腿系统外卖系统软件平台大学生创业平台搭建 1211
壹脉销客智能名片CRM系统小程序可二开源码交付部署 1265
为啥没搞了 1861
Nginx 的 5 大应用场景,太实用了! 2019
CentOS 8-stream 安装Postgresql 详细教程 2333
JAVA智慧校园管理系统小程序源码 电子班牌 Sass 模式 1769
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1537
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1499
致远OA权限 2443
发博客会有金币吗 1577