Ich möchte die vollständige URL betrachten, die der HTTParty-Edelstein aus meinen Parametern erstellt hat, entweder vor oder nach der Übermittlung, es spielt keine Rolle.Wie überprüfe ich die vollständige URL, die von HTTParty generiert wird?
Ich würde auch gerne greifen dies aus dem Antwortobjekt, aber ich sehe auch keinen Weg, dies zu tun.
(Bit von Hintergrund)
Ich baue einen Wrapper für eine API der HTTParty gem verwenden. Es funktioniert weitgehend, aber gelegentlich bekomme ich eine unerwartete Antwort von der Gegenstelle, und ich möchte herausfinden, warum - ist es etwas, das ich falsch gesendet habe? Wenn ja, was? Habe ich irgendwie die Anfrage falsch gemacht? Ein Blick auf die rohe URL wäre gut für die Fehlersuche, aber ich kann nicht sehen, wie.
Zum Beispiel:
HTTParty.get('http://example.com/resource', query: { foo: 'bar' })
Vermutlich erzeugt:
http://example.com/resource?foo=bar
Aber wie kann ich das überprüfen?
In einem Fall habe ich dies:
HTTParty.get('http://example.com/resource', query: { id_numbers: [1, 2, 3] }
Aber es hat nicht funktioniert. Durch das Experimentieren war ich in der Lage, dies zu produzieren, die gearbeitet:
HTTParty.get('http://example.com/resource', query: { id_numbers: [1, 2, 3].join(',') }
So klar Standard Ansatz der HTTParty die Abfragezeichenfolge zu bilden, nicht mit dem API-Designer-Format bevorzugt haben auszurichten. Das ist in Ordnung, aber es war peinlich genau herauszufinden, was gebraucht wurde.
Ja, das wird tatsächlich aus einer Unterklasse kopiert, also wird 'base_uri' gesetzt. Ich werde es korrigieren. Vielen Dank! – Leo
Ah, ich verstehe es! Ich habe 'res.last_uri' versucht, aber einen Fehler bekommen. Ich sehe jetzt, dass einschließlich ".response" zum richtigen Objekt gelangt. – Leo
Funktioniert, zeigt jedoch nicht die an die URL übergebenen Parameter an. – djangofan