Как правильно вернуть список весной - PullRequest
0 голосов
/ 23 ноября 2018

Я написал метод, аннотированный Spring.it, вернет список.следующий фрагмент кода будет представлять этот метод.

   @RequestMapping(path = "", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public ResponseEntity<ReservationResponse> getAvailableRooms(
            @RequestParam(name = "checkin")
            @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
            LocalDate checkin,
            @RequestParam(name = "checkout")
            @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
            LocalDate checkout) {

        return new ResponseEntity<>(new ReservationResponse(), HttpStatus.OK);
    }

Что я хочу знать, если я напишу его, как это будет неправильно?

@RequestMapping(path = "", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<ReservationResponse> getAvailableRooms(
        @RequestParam(name = "checkin")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
        LocalDate checkin,
        @RequestParam(name = "checkout")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
        LocalDate checkout) {
        ResponseEntity<ReservationResponse> reservationResponse = new ResponseEntity<ReservationResponse>();
    return (reservationResponse, HttpStatus.OK);
    }

1 Ответ

0 голосов
/ 23 ноября 2018

Я думаю, что ваш ReservationResponse содержит такой список:

class ReservationResponse{
List<Rooms> availableRooms;
}

Если это так, вы можете просто вернуть ReservationResponse без необходимости добавлять что-либо.

@RequestMapping(path = "", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public ReservationResponse getAvailableRooms(
        @RequestParam(name = "checkin")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
        LocalDate checkin,
        @RequestParam(name = "checkout")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
        LocalDate checkout) {
        ReservationResponse> reservationResponse = new ReservationResponse();
        List<Rooms> rooms = yourService.getAvailableRooms(checkIn,checkOut);
        reservationResponse.setAvailableRooms(rooms);
    return reservationResponse;
    }

или вы можете просто вернуть номера, подобные этой

@RequestMapping(path = "", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public List<Rooms> getAvailableRooms(
        @RequestParam(name = "checkin")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
        LocalDate checkin,
        @RequestParam(name = "checkout")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
        LocalDate checkout) {

        List<Rooms> rooms = yourService.getAvailableRooms(checkIn,checkOut);

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