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

How to make a web service to send data via url in mongodb via loopback?

在休闲模型中,我想制作一个 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"
}

通过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 请注意,分号是一个保留字符,因此您不能将其用作参数的值,您应该将其替换为另一个字符。