Witam,
Robię aplikacje, a raczej uczę się przy tworzeniu aplikacji. Używam frameworka Spring. Stworzyłem Controller, klasę Person, etc. łączę się do tego service(RESTful service) z innego urządzenia i napotkałem problem.. Mianowicie używam patternu builder do tworzenia instancji klasy Person, a w kontrolerze mam metodę, która przyjmuje @RequestBody obiekt Person, metoda:
@RequestMapping(value = "/create/single", method = RequestMethod.POST)
public ResponseEntity<Person> create(@ReequestBody Person person) {
System.out.println(person.toString());
// reszta kodu...
return new ResponseEntity(person, HttpStatus.CREATED);
}
I tu występuje problem. Jako, że wysyłam do service dane w postaci JSON, mogę je odebrac jako Stringa
@ReequestBody String person
, ale jako Obiekt już nie.. Sprawdziłem i powodem tego jest właśnie pattern builder zastosowany w klasie Person- skasowałem kod buildera, wstawiłem same pola(imie, wiek, etc.) i settery... Teraz potrafi zmapować JSONObject do Person. Jako, że tworzenie obiektów Person przy pomocy buildera jest wygodne, chciałbym przy nim pozostać. Jest jakiś sposób aby Spring potrafił zmapować JSONA do obiektu poprzez buildera?(wiem że mogę ręcznie to zrobić ze Stringa, ale to odpada- brzydkie rozwiązanie).
serio to przez tego buildera? myślałam, że spring robi to refleksją i potrafi na samych polach operować(nie treba setterów) tak jak jackson. jeny ale to prymitywne - karolinaa
Na to wychodzi. A co na to mistrz Javy i klepania formatek @niezdecydowany ? :) help mi