0

i verwenden reste Bibliothek api auf Titan Appcelerator zu handhaben:Titanium Appcelerator reste Sammlung

das ist meine config:

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" 
      } 
     ], 
... 

So wie das i holen (funktioniert perfekt):

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

Nun muss ich das Objekt zu posten (das funktioniert nicht, warum?):

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

Dieser zweite Abruf funktioniert nicht, haben Sie eine Idee?

danke.

Antwort

0

In Ihrer Konfiguration geben Sie nicht an, was mit dem ID-Parameter zu tun ist. RESTe weiß nicht (oder kümmert sich nicht) über Ihre API - d. H. Ob es REST/PUT, GET-basiert oder POST, GET usw. ist. Sie müssen es also sagen.

Ihre Methode ändern:

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

und es sollte funktionieren. Die Flexibilität hier erlaubt reste mit APIs zu arbeiten, die in den normalen REST-Muster nicht entsprechen, so dass, wenn sie sagen erforderlich:

"api/get_product?id=<id>" 

zum Beispiel.

Verwandte Themen