La Solicitud GET de Spring Boot proporciona un estado 200 OK, pero Postman devuelve "ø" como cuerpo de respuesta

Jon

Soy nuevo en Spring Boot, y he estado siguiendo este tutorial ( https://www.youtube.com/watch?v=vtPkZShrvXQ ), pero estoy atrapado en este punto. Cualquier puntero sería muy apreciado.

Puedo hacer una solicitud POST y ver la solicitud pasar con un estado 200 en Postman, pero cuando hago una solicitud GET para recuperar datos JSON, veo un estado 200, pero no hay respuesta en la consola de Postman, solo un "ø" - ¿Alguien sabe lo que podría estar haciendo mal?

Aquí está mi controlador:

package com.example.demo.api;

import com.example.demo.model.Person;
import com.example.demo.service.PersonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.UUID;

@RequestMapping("/api/v1/person")
@RestController
public class PersonController {

    //reference to the service
    private final PersonService personService;

    @Autowired
    public PersonController(PersonService personService) {
        this.personService = personService;
    }

    //POST
    @PostMapping
    public void addPerson(@RequestBody Person person) {
        personService.addPerson(person);
    }

    //GET
    @GetMapping
    public List<Person> getAllPeople() {
        return personService.getAllPeople();
    }
}

Aquí está el archivo de servicio:

package com.example.demo.service;

import com.example.demo.dao.PersonDao;
import com.example.demo.model.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;
import java.util.UUID;

@Service
public class PersonService {

    private final PersonDao personDao;

    @Autowired
    public PersonService(@Qualifier("fakeDao") PersonDao personDao) {
        this.personDao = personDao;
    }

    public int addPerson(Person person) {
        return personDao.insertPerson(person);
    }

    public List<Person> getAllPeople() {
        return personDao.selectAllPeople();
    }

    public Optional<Person> getPersonById(UUID id){
        return personDao.selectPersonById(id);
    }
}

Y aquí está la interfaz:

package com.example.demo.dao;

import com.example.demo.model.Person;

import java.util.List;
import java.util.Optional;
import java.util.UUID;

//insert person into database
public interface PersonDao {

    //this inserts a person with an id
    int insertPerson(UUID id, Person person);

    //this inserts a person that does not have an id. An idea is generated:
    default int insertPerson(Person person) {
        UUID id = UUID.randomUUID();
        return insertPerson(id, person);
    }

    List<Person> selectAllPeople();

    Optional<Person> selectPersonById(UUID id);

    int deletePersonById(UUID id);

    int updatePersonById(UUID id, Person person);
}
Jon

Whoops: había un error tipográfico en mi archivo de servicio de acceso a datos. No sé cómo hice que el método selectAllPeople () devolviera "nulo" en lugar de la base de datos (DB), pero eso es lo que tenía:

    @Override
    public List<Person> selectAllPeople() {
        return null;
    }

Y la solución increíble, lol:

    @Override
    public List<Person> selectAllPeople() {
        return DB;
    }

¡Gracias por los comentarios y la paciencia, todos!

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados