Получение пустой сущности json и не может сохраняться во время выполнения с Spring Boot - PullRequest
0 голосов
/ 05 апреля 2019

Я пишу свой первый CRUD как приложение Spring Boot.Теперь я сталкиваюсь с проблемой, что я каким-то образом получаю пустую сущность в моем массиве ответов и также не могу добавить другую сущность.

У меня есть классическая структура MVC, где у меня есть класс ресурсов, который предоставляет ресурсы дляинтерфейс (GET и POST в то время), класс обслуживания (который фактически просто обходит данные), класс контроллера, который предоставляет объекты и устанавливает тестовый объект.

@RestController
@RequestMapping("/genesysAgents")
@Configuration
@ComponentScan(basePackageClasses = GenesysService.class)
public class GenesysAgentResource {

    @Autowired
    private GenesysService genesysService;

    @GetMapping
    public List<GenesysAgent> getAllGenesysAgents() { return genesysService.getAllGenesysAgents();}


    @PostMapping
    public ResponseEntity<?> addGenesysAgent(GenesysAgent genesysAgent) {
        genesysService.addGenesysAgent(genesysAgent);
        return new ResponseEntity<GenesysAgent>(genesysAgent, HttpStatus.CREATED);
    }
@Configuration
@ComponentScan(basePackageClasses = GenesysController.class)
public class GenesysService {

    @Autowired
    private GenesysController genesysController;    

    private static final AtomicInteger id = new AtomicInteger(10);

    @Bean
    public List<GenesysAgent> getAllGenesysAgents() {
        return genesysController.getAgents();
    }

    @Bean
    public GenesysAgent addGenesysAgent(GenesysAgent genesysAgent) {
        genesysAgent.setId(id.getAndIncrement());
        genesysController.addAgent(genesysAgent);
        return genesysAgent;
    }
@Component
@Configuration
@ComponentScan(basePackageClasses = GenesysAgent.class)
public class GenesysController {

        List<GenesysAgent> genesysAgents = new ArrayList<GenesysAgent>();

        public GenesysController(){
        GenesysAgent agent1 = new GenesysAgent();
        agent1.setId(0);
        agent1.setFirstName("Max");
        agent1.setLastName("Muster");
        agent1.setNtAccount("testAccount");
        genesysAgents.add(agent1);
        }

    @Bean
    public List<GenesysAgent> getAgents(){
        return genesysAgents;
    }

    @Bean
    public GenesysAgent addAgent(GenesysAgent genesysAgent){
        genesysAgents.add(genesysAgent);

        return genesysAgent;
    }

Когда я сейчас запускаю приложение и выполняю GET, я получаю:

[{"id": 0, "firstName": "Max", "lastName": "Muster", "ntAccount": "testAccount "}, {" id ": 10," firstName ": null," lastName ": null," ntAccount ": null}]

Я не могу объяснить, откуда поступает запись о вторжении.Также я делаю POST со следующими данными:

{"firstName": "Max", "lastName": "Muster", "ntAccount": "test"}

Я получаю201, но ответом является:

{"id": 0, "firstName": null, "lastName": null, "ntAccount": null}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...