angularjs $resouce方法中的可选参数

Optional params in angularjs $resouce method

本文关键字:参数 resouce 方法 angularjs      更新时间:2023-09-26

我的情况是,我希望 Angularjs 自动删除方法中定义的参数:

我的定义 :

var service = $resource(apiConstant.baseUrl + '/website/:action', {port : ':8080'}, {
        save: {
            method: 'GET',
            isArray: false,
            params: {
                action: 'save', id: '@id', name: '@name', description: '@description',
                ownerId: '@ownerId', checked: '@checked'
            }
        }
    });

当我调用service.save({id :3})时,实际生成的URL是:

website/save?checked=undefined&description=undefined&id=3&name=undefined&ownerId=undefined

我如何告诉 angularjs 自动删除那些未指定的参数?

我只是想要这样:

website/save?id=3

谢谢。

您唯一需要在 params 数组中定义的是 action:'save',仅此而已。 

params: {
            action: 'save'
 }

然后,当我们执行 save({id:3}) 时,它只会调用所需的 url。

params数组用于绑定 url 中的参数,而不是在查询字符串中。此外,@id语法用于从有效负载(对象)映射参数。