小编Ram*_*yer的帖子

版本控制REST API

在阅读了很多关于REST版本的材料之后,我正在考虑对调用进行版本控制而不是API.例如:

http://api.mydomain.com/callfoo/v2.0/param1/param2/param3
http://api.mydomain.com/verifyfoo/v1.0/param1/param2
Run Code Online (Sandbox Code Playgroud)

而不是第一次拥有

http://api.mydomain.com/v1.0/callfoo/param1/param2
http://api.mydomain.com/v1.0/verifyfoo/param1/param2
Run Code Online (Sandbox Code Playgroud)

然后去

http://api.mydomain.com/v2.0/callfoo/param1/param2/param3
http://api.mydomain.com/v2.0/verifyfoo/param1/param2
Run Code Online (Sandbox Code Playgroud)

我看到的优点是:

  • 当呼叫改变时,我不必重写我的整个客户端 - 只有受改变的呼叫影响的部分.
  • 那些工作良好的客户端部分可以继续保持原样(我们投入了大量的测试时间来确保客户端和服务器端都稳定.)
  • 对于已更改的呼叫,我可以使用永久或非永久重定向.
  • 向后兼容性将是轻而易举的,因为我可以保留较旧的呼叫版本.

我错过了什么吗?请指教.

api rest

31
推荐指数
2
解决办法
2万
查看次数

如何在内置的for-in中跳转到javascript中的下一个?

我有一个简短的javascript代码,我需要在for循环中跳到下一个....见下文:

var y = new Array ('1', '2', '3', '4');
for (var x in y) {
   callFunctionOne(y[x]);
   while (condition){
       condition = callFunctionTwo(y[x]);
       //now want to move to the next item so 
       // invoke callFunctionTwo() again...
   }
}
Run Code Online (Sandbox Code Playgroud)

希望保持简单,因此语法可能没有错误.

javascript for-loop for-in-loop

24
推荐指数
1
解决办法
3万
查看次数

是否可以将额外的参数传递给mongoose更新回调

我有mongoose更新调用,并希望传递一个额外的参数...像这样:

试图传递isLoopOver

UserInfo.update({_id: userInfo._id}, {'value': someval}, function(err, numAffected, isLoopOver ) {
    console.log('IsLoopOver ' + JSON.stringify(isLoopOver) );
    if (isLoopOver){
        doSomething(isLoopOver);
    }
});
Run Code Online (Sandbox Code Playgroud)

试过上面但我得到一个对象(在回调内)如下:

{"updatedExisting":true,"n":1,"connectionId":117,"err":null,"ok":1}
Run Code Online (Sandbox Code Playgroud)

不知道为什么它会显示mongo的状态.

问题:如何通过回调传递额外参数?

mongoose mongodb node.js

6
推荐指数
2
解决办法
4583
查看次数

Nginx 重写 unencodes url

似乎 Nginx 在与正则表达式一起使用时总是对 url 进行解编码。我有一个重写规则:

location /api/ {
    rewrite /api/(.*)$ $1 break;
    proxy_pass http://127.0.0.1:8000/$1;
}
Run Code Online (Sandbox Code Playgroud)

我想从 usl 中删除 api 但保留路径的其余部分。路径的一部分是电子邮件地址 someone@somewhere.com。我正在通过某人 %40somewhere.com 但 Nginx 正在用 @ 符号将它转回来。

nginx

5
推荐指数
2
解决办法
4029
查看次数

Backbone.js Sync不会触发模型上的任何事件

我有一个非常简单的设置......

设置一个路径,使用bootstrap调用模式对话框.单击菜单时headerView调用方法 -

menuClick: function(e){
    e.preventDefault();
    if (!this.myView) {
        this.myView= new MyView({model: new MyModel()});
    }
    this.myView.render();
},
Run Code Online (Sandbox Code Playgroud)

在MyView中,我在初始化中调用bind

initialize: function(){
    this.model.bind('sync', function(model){ alert('test view')});
}
Run Code Online (Sandbox Code Playgroud)

并在按钮单击事件中调用Backbone.sync:

var response = Backbone.sync('read', this.model, {
    success: function(data, textStatus, jqXHR) { alert('success'); },
    error: function(data, textStatus, jqXHR){ alert(fail); }
});
Run Code Online (Sandbox Code Playgroud)

同步内的警报被调用...但是初始化中的bind命令中的警报永远不会被调用.尝试在模型中移动绑定,将其移出,也尝试同步:失败,同步:完成.没有成功.

backbone.js

5
推荐指数
1
解决办法
6030
查看次数

如何从 next() 停止 Express.js 路由?

我有一个奇怪的情况...

我有 Express.js、Node.js 和 Mongoose Web 应用程序。

其中一条路由有一个调用 respond.send(...) 的猫鼬回调。但是,因为回调后没有其他内容,我怀疑它会自动转到 next() 路由。

前任:

//getItem 
app.get('/api/ItemOne', isUserValid, routes.getItem); 
//getAnotherItem
app.get('/api/getAnotherItem', isUserValid, routes.getAnotherItem);

//Routes
exports.getItem = function (req, res) {
  //console.log ('In getItem'); 
   getItem .findOne({ some_id : some_id}, function(err, getItem ){
      //console.log ('In getItem callback');
      res.send({
         itemName : getItem .itemName,
         itemValue : getItem .itemValue;
      });
   })
});

exports.getAnotherItem = function (req, res) { 
   //console.log ('In getAnotherItem');
   getAnotherItem.findOne({ some_id : some_id}, function(err, getAnotherItemRet){
      //console.log ('In getAnotherItem Callback');
      res.send({
         itemName : getAnotherItemRet.itemName,
         itemValue : …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js express

5
推荐指数
1
解决办法
3745
查看次数

如何在 Google 搜索结果中搜索 URL 出现次数?

我有兴趣找出包含完整 URL 路径的 Google 搜索结果的数量。我知道我们确实在搜索完全合格的域或子域。但是,一直无法找到搜索路径或文件的方法。

例如:我想知道有多少 Google 搜索结果包含 "play.google.com/store/apps/details?id=com.konsier.konsier_infocard"

google-search google-search-api google-search-platform

3
推荐指数
1
解决办法
2577
查看次数