मैं है निम्नलिखित संस्थाओं अपने प्रोजेक्ट में परिभाषित:लिंक
देश
@Entity
@Data
public class Country {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@Column(nullable = false)
String name;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
List<City> cities = new ArrayList<City>();
}
शहर
@Entity
@Data
public class City {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@Column(nullable = false)
String name;
@ManyToOne
Country country;
}
व्यक्ति
@Entity
@Data
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@Column
String name;
@Embedded
Address address = new Address();
}
पता
@Data
public class Address {
@Column
String line;
@ManyToOne
Country country;
@ManyToOne
City city;
}
मैं भी Person
, Country
और City
के लिए परिभाषित खजाने है।
जब मैं GET अनुरोध बनाने के लिए/व्यक्तियों/1 मैं निम्नलिखित परिणाम प्राप्त:
{
"name":null,
"address":{
"line":"Address1"
},
"_links":{
"self":{
"href":"http://localhost:8080/persons/1"
},
"city":{
"href":"http://localhost:8080/persons/1/city"
},
"country":{
"href":"http://localhost:8080/persons/1/country"
}
}
}
मुझे लगता है कि पता एक एम्बेडेड वस्तु है के बाद से, देश और शहर के लिए उत्पन्न लिंक गलत हैं। वे कुछ भी वापस नहीं करते हैं हालांकि city
और country
मान मौजूद हैं। सही लिंक क्या होना चाहिए?
क्या एम्बेडेड ऑब्जेक्ट्स स्प्रिंग डेटा रेस्ट द्वारा समर्थित नहीं हैं?
मुझे नहीं लगता कि आप '/ व्यक्ति/1/पता' तक पहुंचने में सक्षम हैं? – Steve
यह निम्न संदेश के साथ HTTP 400 खराब अनुरोध देता है: PersistentEntity शून्य नहीं होना चाहिए! – idursun