У меня два класса POJO.
Класс 1 - Engine.java:
private String engineId;
public String getEngineId(){
return this.engineId;
}
public void setEngineId(String engineId){
this.engineId = engineId;
}
Второй класс POJO - Vehicle.java:
private String type;
private String manufacturer;
private Engine engine;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public Engine getEngine() {
return engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
У меня есть контроллер REST для предоставления информации о Vechicles (RequestMethod.GET):
@RequestMapping(method = RequestMethod.GET)
public Vehicle getVechileDetails(Vehicle inputVehicle){
Vehicle vehicle = new Vehicle();
// some processing
return vehicle;
}
Когда я нажимаю на эту службу и указываю параметр Request в качестве типа или производителя, Spring создает объект Vehicle и заполняет значение типа и производителя. Но если я предоставлю значение engineId, то Spring не сможет создать объект Engine так, чтобы vehicle.getEngine().getEngineId() != null
Есть ли способ, которым я вызываю свою службу отдыха, например:
http://localhost:8080/Controller/getVehicleDetails?engineId=12345
тогда Автомобиль создается с Engine, имеющим значение engineId?