У меня есть таблица Customers и 2 столбца customer_id и customer_name.Я хочу отправить запрос списка идентификаторов с помощью json и вернуть соответствующие имена клиентов.Но я не смог обработать объекты dto и архитектуру службы контроллера.
input dto:
public class CustomerSearchDto extends BaseDto {
@ApiModelProperty(
example = "1",
value = "Customer Id",
required = true,
dataType = "Long"
)
private Long id;
}
outputdto:
public class CustomerDto extends BaseDto {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Класс контроллера:
@ApiOperation(
value = "Return Customer",
response = Customer.class
)
@PostMapping(value = Endpoint.RRESOURCE_CUSTOMER_GROUP_BY_ID)
public ResponseEntity<CustomerDto> getCustomersById(@RequestBody @Validated CustomerSearchDto CustomerSearchDto) {
CustomerDto CustomerDto = new CustomerDto;
List<CustomerDto> CustomerDtoList = CustomerService.findCustomerByIds(ids);
return ResponseEntity.ok(CustomerDto);
}
Метод класса обслуживания:
@Transactional
public List<CustomerDto> findCustomerByIds(List<Long> customerIds) {
List<Customer> customerList = repository.findCustomerById(CustomerIds);
return mapper.mapAsList(CustomerList, CustomerDto.class);
}
В классе контроллера есть некоторые ошибки.И также я не уверен в том, что я должен определить как для ввода, так и для вывода различных классов dto?