当前位置: 首页 > 面试题库 >

使用资源服务时如何传递参数?

东郭淇
2023-03-14
问题内容

一个非常菜鸟般的问题:

我正在尝试使用工厂方法构建资源对象:

.factory('Magazines', [function ($resource) {

    var url = document.URL;
    var urlArray = url.split("/");
    var organId = urlArray[urlArray.length-1];

    return $resource('http://localhost/ci/api/magazines/:id', {
        loginID : organEntity,
        password : organCommpassword,
        id : organId
    });
  }])

这种方法很容易,因为所有参数都是预定义的,organEntity和organCommpassword是在tag中定义的。

现在,对于另一个资源对象,我需要在调用工厂时传递参数。

我想象该资源对象的调用代码应如下所示:

.controller('ResrouceCtrl', function($scope, Magazines) {
      $scope.magazines = Magazines.query();
});

我知道query()方法可以添加参数: Magazines.query(params, successcb, errorcb);

我想知道是否只是传递参数,可以在工厂获得参数吗?如何在工厂方法中指定这样的传入参数?

例如,现在假设我无法再从url获取organId,我需要从我的控制器中传递它,如何在工厂方法中接收organId?

这是我的资源js:

.factory('MagComments', function ($resource) {


    return $resource('http://localhost/dooleystand/ci/api/magCommenct/:id', {
      loginID : organEntity,
      password : organCommpassword,
      id : '@magId' //pass in param using @ syntax
    });
  })

这是我的控制器:

$scope.magComments = MagComments.query({magId : 1});

我试图传递参数,但是会导致错误


问题答案:

我想我看到了您的问题,您需要使用@语法来定义将以这种方式传递的参数,而且我不确定正在使用什么loginID或密码,您似乎并没有在任何地方定义它们并且没有在使用它们作为URL参数,是否将它们作为查询参数发送?

根据目前所见,这是我的建议:

.factory('MagComments', function ($resource) {
    return $resource('http://localhost/dooleystand/ci/api/magCommenct/:id', {
      loginID : organEntity,
      password : organCommpassword,
      id : '@magId'
    });
  })

@magId字符串将告诉资源,用您将其作为参数传递给对象:id的属性替换magId

我建议非常仔细地阅读此处的文档(我知道它有点不透明),并仔细阅读最后的示例,这应该会有所帮助。



 类似资料:
  • 我们的项目中使用的是Spring Cloud config server,它有多个微服务。配置服务器就绪后,我们现在将所有微服务的所有属性存储在一个中央git存储库中。每个微服务能够根据应用程序名称和配置文件提取自己的属性文件。我们试图将资源包存储在中央存储库中,并让config-server将这些资源包提供给微服务。我们的资源包包括属性文件,如messages_en.properties、mes

  • 问题内容: 这是一个简单程序的概述 我只是不断获取“未定义全局名称foo” .....有人可以帮我吗?谢谢! 问题答案: 代码段必须是独立的-它们不能进行外部引用。您必须在statement-string或setup-string中定义值: 更好的是,重写代码以不使用全局值。

  • 我正在构建一个使用微服务架构的系统,使用RabbitMQ作为消息传递服务。我有一个2个服务之间通信的用例,并面临使用RabbitMQ实现它的困难。 购物车服务需要从产品服务获取数据。在这种情况下,购物车服务可以发送消息,产品服务订阅该消息。但是我找不到产品服务将数据发回购物车服务的方法。 你能让我知道我在这种情况下使用RabbitMQ的方法是否正确吗?在这个用例中,我还应该应用其他方法吗?提前感谢

  • 我试图将表单中的一些值发送给responsebody,以便对这些值执行一些操作。但这些值根本不会被转发到该处理程序。我找不到理由。这里会有什么问题? 我的处理程序 我的JSP

  • 我知道消息传递系统是无阻塞和可扩展的,应该在微服务环境中使用。 我质疑的用例是: 假设有一个admin dashboard客户机负责发送API请求以创建Item对象。有一个微服务提供APIendpoint,它使用一个MySQL数据库来存储项目。还有一个微服务使用弹性搜索进行文本搜索。 如果此管理仪表板客户端: a.发送2个API调用;1次调用MySQL服务和另一个elasticsearch服务 或

  • 我在onCreate中创建的SQLite数据库中有三个表。我没有数据记录,只需要查询表进行计算并显示在屏幕上。这是我需要做的sql来获取我需要的3个变量。sql只返回一条记录不是列表。 Rawquery研究并认为这是最好的解决方案,但不知道如何运行sql,当我将这些参数传递给sql并获得我需要的三个变量时,是否有人能向我详细解释一下,以便我能够理解并应用到这里?