Monate später aktualisieren
Die wirkliche Antwort ist, dass loader.params
ein HTTP BODY
erzeugt, also funktioniert es für POST, PUT, DELETE
etc, aber nicht für GET
, wo die Parameter an die URL angehängt werden.
Daher funktioniert die folgende Antwort immer noch, wenn das gleiche Problem für GET
auftritt. Wenn Sie jedoch GET
-Anforderungen senden, werden meistens Methoden verwendet, die die Parameter an die Abfragezeichenfolge anhängen.
Um die Unterschiede zwischen den beiden zusammenzufassen.
Senden von Parametern im HTTP-Body (d. h. POST, UPDATE, DELETE
)
Caveat Emptor (für oben)
Durch das Setzen von Parametern im Block wird jedes Mapping zerstört, das Sie möglicherweise in yourObject
festgelegt haben, was den Zweck der Objektzuordnung vereitelt. Es gibt hier einen Fix von Sebastian loader.params - Extra params , wenn du das wirklich willst Verwenden Sie diese Methode, um zusätzliche Parameter an Ihren Post anzuhängen, die sich nicht im Objekt befinden.
Senden von Parametern als Abfragezeichenfolge (d. h. GET
)
Der Rest der Antwort dient nur als Referenz, ich bin ein Schatzbildner.
Alte Antwort
Ich benutze RestKit für mein Projekt und sehe mir das gleiche Problem an.
Ich denke, RKParams
wird hauptsächlich für POST
Anfragen verwendet. Ich kann Ihren Code nicht vollständig entschlüsseln, weil 1) ich die Deklaration von loader
nicht weiß? 2) RKParams
soll nicht mit Object Manager
verwendet werden?
Ich habe das getan.
Loader-Methode im App-Delegierten
%Vor%Delegierter
%Vor% Ausgabe :
RK Request description: <RKRequest: 0x7993db0>
und rails log say {"limit"=>"30"}
.
Von der automatischen Vervollständigung in Xcode können Sie sehen, dass die get
-Anfrage nicht einmal RKParams
verwendet hat. Nur ein NSDict
. Die POST-Anfragen verwenden es.
Mein Ziel ist es, eine Abfrage-Zeichenfolge, d. h. ?location=singapore&etcetc
, an meine API-Methoden in Rails anzuhängen. Dazu kommt RK mit einem NSString
Addon namens appendQueryParams
RK docs link , mit dem Sie Abfrageparameter anhängen können.
Wenn Ihr Ziel POST
images usw. ist, können Sie dem obigen Gedankengang von RKClient
folgen.
Aktualisierung:
Wenn Sie nur Parameter an den Objektmanager anfügen möchten
%Vor%Dies ist veraltet und als veraltet gekennzeichnet.
%Vor%Verwenden Sie stattdessen:
%Vor% Rails-Protokoll : {"location"=>"latitude,longitude", "limit"=>"20"}
Ich hoffe auf meine Antwort Ich habe keine falschen Aussagen gemacht.
Siehe diese Frage RestKit GET-Abfrageparameter .
Tags und Links objective-c ios parameters restkit