Здравствуйте, у меня возникли проблемы в классе Controller
. Все запросы работают нормально, кроме этого, который по какой-то причине отказывается перенаправить меня на другую страницу, хотя я все делаю, насколько я знаю. Вот мой класс Controller. Проблема с конечной точкой beginReservation
package movie_manager.web.presentation;
import movie_manager.model.dto.MovieDto;
import movie_manager.model.dto.ReservationDto;
import movie_manager.model.dto.UserDto;
import movie_manager.model.pojo.FormPojo;
import movie_manager.model.pojo.ReservationPojo;
import movie_manager.service.MovieService;
import movie_manager.service.ReservationService;
import movie_manager.service.UserService;
import movie_manager.web.session.SessionInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private SessionInfo sessionInfo;
@Autowired
private UserService userService;
@Autowired
private MovieService movieService;
@Autowired
private ReservationService reservationService;
@GetMapping
public ModelAndView userPage(){
ModelAndView modelAndView = new ModelAndView("user");
Collection<MovieDto> movies = movieService.getAll();
modelAndView.addObject("movies", movies);
return modelAndView;
}
@GetMapping("view_movie/{movieId}")
public ModelAndView viewMovie(@Valid @PathVariable long movieId){
ModelAndView modelAndView = new ModelAndView("view_movie");
modelAndView.addObject("movie", movieService.get(movieId));
return modelAndView;
}
@PostMapping("/make_reservation")
public void makeReservation(@Valid @RequestBody FormPojo formPojo){
MovieDto movieDto = movieService.get(formPojo.movieId);
UserDto userDto = sessionInfo.getUser();
ReservationDto reservationDto = new ReservationDto();
reservationDto.movieDto = movieDto;
reservationDto.userDto = userDto;
reservationDto.userName = formPojo.userName;
reservationService.add(reservationDto);
}
@GetMapping("/begin_reservation")
public ModelAndView beginReservation(@Valid @RequestBody ReservationPojo reservationPojo) {
ModelAndView modelAndView = new ModelAndView("reservation");
MovieDto movieDto = movieService.get(reservationPojo.movieId);
if(movieDto.availableSeats < reservationPojo.numberOfSeats)
return new ModelAndView("notEnoughSeats");
modelAndView.addObject("movie", movieDto);
List<Integer> list = new ArrayList<>();
for (int i = 0; i< reservationPojo.numberOfSeats;i++){
list.add(i);
}
modelAndView.addObject("numberOfForms", list);
return modelAndView;
}
}
Все остальные конечные точки работают нормально. И проблемная конечная точка c достигнута успешно. Кажется, проблема в объекте ModelAndView
. Страница просто остается прежней c без ошибок нет ничего. Я также хотел бы отметить, что ни один путь не работает (даже те, которые использовались выше в других конечных точках). Любая помощь будет оценена.