Backand.com - REST API期间的随机错误404

时间:2016-10-19 11:04:41

标签: angularjs rest backand mbaas

对于一个网络应用我使用 Backand.com 作为MBAAS。

我创建了一个数据模型并链接了所有表。

如果我查询默认的REST API,则完全没有问题,但是如果我尝试调用自定义操作或自定义查询,服务器会随机回答错误404,找不到....

例如,我已将此自定义操作命名为: getCommentsByEvent

'use strict';
function backandCallback(userInput, dbRow, parameters, userProfile) {
    // write your code here
return $http ({
  method: 'GET',
  url: CONSTS.apiUrl + '/1/query/data/getCommentsByEvent',
  params: {
    parameters: {
      event_id: {{event_id}}
    }
  },
headers: {"Authorization": userProfile.token}
});

}

从网络应用程序我使用此代码通过REST

调用它
       service.commentsByEvent = function(p, s, r) {
            $http({
                method: 'GET',
                url: Backand.getApiUrl() + '/1/objects/action/comments/?name=getCommentsByEvent',
                params: {
                    parameters: {
                        event_id: p.eventId
                    }
                }
            }).then(s, r);
        };

自定义操作是正确编写的,因为如果我尝试直接从Backand.com的测试页面调用它,它的工作没有任何问题,但是如果我尝试从我的网络应用程序80%的时间它不起作用,20%它的工作原理

这是错误:

  

对象{数据:"未找到操作,或未按需提取操作",状态:404,配置:对象,状态文本:"未找到"}

要知道: - 该行动没有安全档案或角色或其他人; - 在调用此操作之前,Web应用程序调用signin API来获取令牌 - 该操作不需要身份验证令牌,因为它是公开的

要调用signin API,我提供了这项服务:

service.signin = function(email, password) {
        //set the app name of Backand. In your app copy this to .config section with hard coded app name
        Backand.setAppName($rootScope.appName);
        //call Backand for sign in
        return Backand.signin(email, password);
    };
    service.signout = function() {
        return Backand.signout();
    };

有什么想法吗?

由于 米歇尔

1 个答案:

答案 0 :(得分:1)

固定!

这是与Backand.com网站上创建的“App name”相关的一个非常虚拟的问题....

在Backand.com上我创建了一个名为大写的应用程序,如“MYAPP”,所以当我在Angular上配置SDK时我写了

Backand.setAppName("MYAPP);

然而,Backand.com在网站上显示相同的名称,但在配置期间,它需要 LOWERCASE ONLY 名称!没有人,即使是在客户服务中,也知道这个要求所以很难理解如何修复......昨天我尝试了这种方式并且它有效...

Backand.setAppName("myapp");

总而言之,如果您有错误404并且网址正确,那么如果APP NAME 仅限小一些,则不会检查身份验证问题。