Создание метода контроллера, который сохраняет объект внутри объекта - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать контроллер для микросервиса, в котором создается объект транспортного средства, однако в этом объекте транспортного средства мы должны сначала сохранить объект регистрации.Я могу сделать контроллер транспортного средства, но не уверен, как сохранить объект регистрации в объекте транспортного средства.Вот как должны выглядеть объекты JSON в конце.

Вход JSON:

{
    "make":"Chevrolet", 
    "Model":"Silverado 1500", 
    "modelYear":2009, 
    "registration": {
        "licensePlate":"TOWME2", 
        "licensedTo":"Ford Towers"
    }
}

Выход JSON:

{
    "id":[auto-generated], 
    "make":"Chevrolet", 
    "model":"Silverado 1500", 
    "modelYear":2009, 
    "registration": {
        "id":[auto-generated], 
        "licensePlate":"TOWME2", 
        "licensedTo":"Ford Towers"
    }
}

1 Ответ

0 голосов
/ 18 февраля 2019

Я тоже сталкивался с этой проблемой, и это потому, что spring-boot-starter-data-rest исключает поля идентификаторов.

Чтобы настроить поведение, вы можете расширить RepositoryRestConfigurerAdapter, чтобы предоставлять идентификаторы для определенных классов.

import org.springframework.context.annotation.Configuration;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurerAdapter;

@Configuration
public class RepositoryConfig extends RepositoryRestConfigurerAdapter {
    @Override
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        config.exposeIdsFor(Vehicle.class);
    }
}
...