Определите конечную точку REST, которая возвращает список - PullRequest
0 голосов
/ 05 октября 2018

Как я могу вернуть список из класса контроллера?

Мой текущий код:

@PostMapping(value = Endpoint.RRESOURCE_customer_ID)
public ResponseEntity<customerDto> getLocationsByLocationIds(@RequestBody @Validated @RequestParam(name = "ids", required = true) List<Long> ids) {
      List<customerDto> customerListDto = customerService.findcustomerIds(ids);
      return ResponseEntity.ok(customerListDto);
}

Полученная ошибка:

Error:(51, 41) java: incompatible types: inference variable T has incompatible bounds
    equality constraints: com.testclass.cust.common.dto.output.CustomerDto
    lower bounds: java.util.List<com.customer.common.dto.output.CustomerDto>

Метод findcustomerIds:

@Transactional
public List<customerDto> findcustomerIds(List<Long> customerIds) {
    List<customer> customerList = repository.findAll(customerIds);
    return mapper.mapAsList(customerList, customerDto.class);
}

Я не уверен насчет следующего определения.

public ResponseEntity<customerDto> getLocationsByLocationIds(@RequestBody @Validated @RequestParam(name ="ids", required = true) List<Long> ids)

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Вы должны вернуть список "customerDto" в вашем классе ReponseEntity

@PostMapping(value = Endpoint.RRESOURCE_customer_ID)
@ResponseBody
public ResponseEntity<List<customerDto> > getLocationsByLocationIds(@RequestParam List<Long> ids) {
      List<customerDto> customerListDto = customerService.findcustomerIds(ids);
      return ResponseEntity.ok(customerListDto);
}
0 голосов
/ 05 октября 2018

Вы должны определить свою конечную точку следующим образом:

@PostMapping(value = Endpoint.RRESOURCE_customer_ID)
public List<CustomerDto> getLocationsByLocationIds(@RequestBody List<Long> ids) {
    return customerService.findcustomerIds(ids);
}

Обратите внимание, что в одном поле нельзя указывать @RequestBody и @RequestParam.Поле имеет значение либо тело HTTP-запроса, либо параметр HTTP-запроса.

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