Wpis z mikrobloga

Czy istnieje możliwość, żeby wysłać zapytanie GET w którym parametry są automatycznie kopiowane z obiektu?
Przykładowo, mam klasę:
public class Dupa {
private int x;
private String str;
public Dupa(int x, String str) ...
}
Tworzę więc obiekt tejże klasy i przypisuję jakieś wartości. Chcę żeby mi spring automatycznie utworzył z tego URL:
/asdf/?x=666&str=dupa8
lub podobny, tak żebym mógł ten obiekt po stronie serwera łatwo odczytać:
public List asdf(@Valid Dupa dupa) {
...
}
Używając metody POST można to łatwo zrobić, ale zależy mi na metodzie GET.
#programowanie #java #spring
  • 4
@patste: rozumiem, że chcesz to mieć jakoś uniwersalnie, żeby można było z obiektu dowolnej klasy stworzyć takie zapytanie? Jeśli tak to musisz użyć refleksji żeby dostać nazwy pól w klasie.

Bo rozumiem że to masz na myśli pisząc, że "parametry sa automatycznie kopiowane z obiektu". I w Twoim zapytaniu GET faktycznie kolejne parametry odpowiadają nazwom pól w klasie.
@AbstractObject: Tak, parametry w zapytaniu odpowiadają nazwom pól w klasie. Po stronie serwera spring potrafi zrobić to automatycznie, tj. jeśli dostanie ten URL to kopiuje parametry do odpowiednich pól. Dlaczego nie można tego zrobić w drugą stronę w tak samo prosty sposób?
@patste: ech, późno już jest, ja pewnie wyleciałem głupio z tą refleksją. Już nie myślę. Masz, poczytaj:
http://stackoverflow.com/questions/17067927/how-to-serialize-a-pojo-into-query-params-with-jersey

Jakbyś tu nie znalazł odpowiedzi to szukaj coś dalej o serializacji POJO do jakiejś mapy czy coś. Nie wiem jak działa Spring, robiłem w tym tylko inżynierkę więc nie odpowiem na Twoje pytanie. Możesz zawsze zapytać na SO :)