如何使web服务通过环回通过mongodb中的url发送数据?

时间:2017-06-25 18:11:29

标签: web-services loopbackjs

在休假模式中,我想制作一个Web服务,将数据发送到数据库并保存到数据库中。

localhost:3000/api/shops/shopname=cafe del mar&tel=123456&latlng=50.35;56.44&personId=1729451234

商店模特

{
 "shopname": "string",
 "tel": "string",
 "latlng": "string",
 "address": "string",
 "id": "string",
 "personId": "string"
}

1 个答案:

答案 0 :(得分:2)

通过Get请求发送数据很奇怪,但如果您考虑过安全问题,可以按照以下步骤操作:

  1. 定义远程方法:

    Shop.remoteMethod('createNewShop',{
        accepts: [{arg: 'shopname', type: 'string'},
        {arg: 'tel', type: 'string'},
        {arg: 'latlng', type: 'string'},
        {arg: 'address', type: 'string' }, 
        { arg: 'id', type: 'string'}, 
        { arg: 'personId', type: 'string' } ],
        returns: {arg: 'result', type: 'string'},
        http: {path: '/create-new-shop', verb: 'get'}
    });
    
  2. 在shop.js文件中实现createNewShop函数:

         var app = require ("../../server/server");
    Shop.createNewShop =function(shopname, tel, latlng, address, id, personId, cb){
    
    var instance = {
        shopname: shopname,
        tel: tel,
        latlng: latlng,
        address: address,
        id: id,
        personId: personId
    }
    var shop = new app.models.Shop(instance)
    shop.save().then(function(savedShop,err){
        if(err)
            throw err
        else
            cb (null, "done!")
    });
    }
    
  3. 现在你可以致电http://localhost:3000/api/shops/create-new-shop?shopname=cafe%20del%20mar&tel=123456&latlng=50.35-56.44&personId=1729451234 请注意,分号是保留字符,因此您不能将其用作参数的值,而应将其替换为另一个字符。