定义返回列表的 REST 端点

如何从控制器类返回列表?


我目前的代码:


@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)


慕码人2483693
浏览 120回答 2
2回答

牧羊人nacy

您应该按如下方式定义端点:@PostMapping(value = Endpoint.RRESOURCE_customer_ID)public List<CustomerDto> getLocationsByLocationIds(@RequestBody List<Long> ids) {&nbsp; &nbsp; return customerService.findcustomerIds(ids);}请注意,您不能同时拥有@RequestBody和@RequestParam。该字段是任一的HTTP请求体或HTTP请求参数。

陪伴而非守候

您必须在 ReponseEntity 类中返回“customerDto”列表@PostMapping(value = Endpoint.RRESOURCE_customer_ID)@ResponseBodypublic ResponseEntity<List<customerDto> > getLocationsByLocationIds(@RequestParam List<Long> ids) {&nbsp; &nbsp; &nbsp; List<customerDto> customerListDto = customerService.findcustomerIds(ids);&nbsp; &nbsp; &nbsp; return ResponseEntity.ok(customerListDto);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java