Spring Boot API возвращает бесконечные результаты по запросу GET - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть базовый загрузочный API Spring с контроллером объектов, содержащим отображение GET, возвращающее один экземпляр объекта. Объект не имеет сопоставленных отношений, и все поля имеют примитивные типы данных. Тем не менее, при вызове API он будет возвращать один случайный экземпляр из базы данных бесконечное число раз.

Проблема возникает только в том случае, если функция getAll () не имеет параметров в Контроллере и Классе объекта.

  1. Объект:
@Entity
@Table(name = "TABLE_CAR")
public class ObjCar implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "INDEX_id_seq")
    @SequenceGenerator(name = "INDEX_id_seq", sequenceName = "INDEX_id_seq", allocationSize = 1)
    @Column(name = "id")
    private Integer id;
    @Column(name = "name")
    private String name;

public ArrayList<ObjCar> getAll(int uselessVariableCausingTroubleIfRemoved) {
    @SuppressWarnings("rawtypes")
    Query query = DB.s.createQuery("from " + this.getClass().getSimpleName() + " where active = :active");
    query.setParameter("active", active);
    ArrayList<ObjCar> cots;
    cots = (ArrayList<ObjCar>) query.list();
    return cots;
}

// auto generated getters and setters
}
  1. Контроллер, который работает
@RestController
public class ObjCarController {

    @CrossOrigin
    @RequestMapping(value = "/obj/ObjCar/get/all", method = RequestMethod.GET)
    public ArrayList<ObjCar > getAll() throws Exception {
        return new ObjCar().getAll(135);
    }

}


  1. Контроллер, который не работает
@RestController
public class ObjCarController {

    @CrossOrigin
    @RequestMapping(value = "/obj/ObjCar/get/all", method = RequestMethod.GET)
    public ArrayList<ObjCar > getAll() throws Exception {
        return new ObjCar().getAll();
    }

}

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