Titanium appcelerator reste集合

时间:2016-07-20 15:49:38

标签: titanium appcelerator titanium-mobile titanium-alloy appcelerator-titanium

我使用reste库来处理钛appcelerator上的api:

这是我的配置:

api.config({
        debug : true,
        autoValidateParams : false,
        validatesSecureCertificate : false,
        timeout : 4000,
        url : Kb.baseUrl,
        models: [{
            name: "product",
            id: "id",
            //content: "retArray",
            collections: [{
                name: "products",
                content: "response",
                read: "get_products"
            }],
        }],
        methods : [
            {
                name : "get_products",
                post : "api/get_product"
            }
        ],
...

所以这就是我如何获取(完美运作):

var p = Alloy.Collections.get_products;
p.fetch({
    success:function(m,r){
        console.log(r)
    }
});

现在我必须过去反对的帖子(这不起作用,为什么?):

p.fetch({
    data:{'id':'2'},
    success:function(m,r){ console.log(r); }
});

第二次抓取无效,请问您有什么想法?

感谢。

1 个答案:

答案 0 :(得分:0)

在您的配置中,您没有指定如何处理id参数。 RESTe不知道(或关心)你的API - 即它是REST / PUT,基于GET还是POST,GET等等。所以你需要告诉它。

将您的方法更改为:

{
  name : "get_products",
  post : "api/get_product/<id>"
}

它应该可以正常工作。这里的灵活性允许RESTe使用不符合正常REST模式的API,因此如果需要,请说:

"api/get_product?id=<id>"

例如。