loopback学习(5)--扩展API

在LoopBack中,有一个连接到自定义的REST端点的Node方法叫remote method(远程方法)
添加一个远程方法
在前面生成CoffeeShop模型完成后,项目的models目录中会生成coffee-shop.json和coffee-shop.js两个文件,要添加远程方法就需要在coffee-shop.js文件中添加相应的方法。
1.打开/common/models,你会看见coffe-shop.js文件
2.打开coffee-shop.js文件,可以看到一个空的方法

'use strict';

module.exports = function(Coffeeshop) {

};

3、将以下的代码添加到这个方法中,使用远程方法去扩展这个模型的行为

module.exports = function(CoffeeShop) {
  CoffeeShop.status = function(cb) {
    var currentDate = new Date();
    var currentHour = currentDate.getHours();
    var OPEN_HOUR = 6;
    var CLOSE_HOUR = 20;
    console.log('Current hour is ' + currentHour);
    var response;
    if (currentHour > OPEN_HOUR && currentHour < CLOSE_HOUR) {
      response = 'We are open for business.';
    } else {
      response = 'Sorry, we are closed. Open daily from 6am to 8pm.';
    }
    cb(null, response);
  };
  CoffeeShop.remoteMethod(
    'status',
    {
      http: {path: '/status', verb: 'get'},
      returns: {arg: 'status', type: 'string'}
    }
  );
};

这段代码定义了一个简单的远程方法,一个不带参数的stauts的方法,检查当前时间并返回一个json格式的状态消息。当然在实践中你可以使用远程方法做更多有趣和复杂的事,比如在数据持久化到数据库之前输入数据。您还可以更改您调用远程方法的途径,并定义复杂的参数和返回值。请参阅远程方法(远程方法)的所有细节。

执行slc run,在http://localhost:3000/exploer中可以看到一个新增的方法GET/CoffeeShop/status
点击Try it Out,会返回以下json数据:
{
“status”: “Open for business.”
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值