Chcę spojrzeć na pełny adres URL, który klejnot HTTParty skonstruował na podstawie moich parametrów, przed lub po jego przesłaniu, nie ma znaczenia.Jak mogę sprawdzić pełny adres URL wygenerowany przez HTTParty?
Byłbym również szczęśliwy, chwytając to z obiektu odpowiedzi, ale nie widzę sposobu, aby to zrobić.
(Bit tle)
buduję otoki dla API używając gem HTTParty. Działa bardzo dobrze, ale od czasu do czasu otrzymuję niespodziewaną odpowiedź ze strony zdalnej i chcę się dowiedzieć, dlaczego - czy jest to coś, co wysłałem nieprawidłowo? Jeśli tak to co? Czy w jakiś sposób zniekształciłem żądanie? Patrząc na nieprzetworzony adres URL będzie przydatny do rozwiązywania problemów, ale nie rozumiem, jak to zrobić.
Na przykład:
HTTParty.get('http://example.com/resource', query: { foo: 'bar' })
Przypuszczalnie generuje:
http://example.com/resource?foo=bar
Ale jak mogę to sprawdzić?
W jednym przypadku zrobiłem to:
HTTParty.get('http://example.com/resource', query: { id_numbers: [1, 2, 3] }
Ale to nie działa. Poprzez eksperymentowanie byłem w stanie produkować ten, który pracował:
HTTParty.get('http://example.com/resource', query: { id_numbers: [1, 2, 3].join(',') }
Tak wyraźnie HTTParty domyślnego podejścia do kształtowania ciąg kwerendy nie wyrównać z preferowanego formatu projektantów API. W porządku, ale niezręcznie było ustalić dokładnie, co jest potrzebne.
Tak, to jest faktycznie skopiowane z podklasy, więc ustawione jest 'base_uri'. Poprawię to. Dzięki! – Leo
Ah, rozumiem! Próbowałem 'res.last_uri', ale dostałem błąd. Widzę teraz, że włączenie '.response' trafia do właściwego obiektu. – Leo
Działa, ale nie wyświetla parametrów przekazanych do adresu URL. – djangofan