JSON POST do Spring-owego Kontrolera

0

Witam mam pytanie. Pobieram dane z encji która zawiera referencje do innej encji (ManyToOne). Pobieram dane metodą GET i wszystko jest ok (aby GET działał musiałem wykorzystać adnotacje @JsonManagedReference i @JsonBackReference). Ale gdy przesyłam dokładnie te same dane do serwera za pomocą metody POST dostaję błąd. Czy powyższe adnotacje umożliwiają pracę tylko w jedną strone??

0

JAKI BŁĄD??????????????????????????????

0

Błąd został usunięty:) Ale mam problem z zależnością cykliczną. Gdy korzystam z powyższych adnotacji wykonuje poprawnie POSTA ale przy GET nie zwraca mi danych pobranych z referencji (dostaję dane z klasy Workers ale nie widze Address). Poniżej zamieszczam encje.

public class Workers implements java.io.Serializable {

	private static final long serialVersionUID = -7360856636008311332L;
	private Integer idWorkers;
	private Address address;
	private String name;
	private String surname;
	private String email;
	private Integer phone;
	private String position;
	private String employmentType;
	private Integer pesel;
	private String desc;
/*...*/
@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "idAddress", nullable = false)
	@JsonBackReference
	public Address getAddress() {
		return this.address;
	}

public class Address implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -306359772250664694L;
	private Integer idAddress;
	private String homeNo;
	private String flatNo;
	private String street;
	private String city;
	private String postcode;
	private Set<Workers> workerses = new HashSet<Workers>(0);
/*...*/
@OneToMany(fetch = FetchType.EAGER, mappedBy = "address")
	@JsonManagedReference
	public Set<Workers> getWorkerses() {
		return this.workerses;
	}
}

Znalazłem info na temat adnotacji @JsonIdentityInfo i umieściłem ją nad definicją obu klas:

@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@id")
public class Workers implements java.io.Serializable{}

Ale nie pomogło tylko dostaję powielone dane. Czy macie jakiś pomysł? Z góry dzięki.

0

Jeżeli przesyłanie do GUI encji w niektórych przypadkach sprawia Ci problem użyj DTO "szytego na miarę"

0

I właśnie tego chciałem uniknąć. Bo można ładować dane prosto do encji tylko mi nie wychodzi;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1