изображение Это мой ответ JSON, в ответе есть атрибут (ключ) с именем DATA, который представляет собой список списков и содержит более 1000 списков.
Я хочу ограничить размер данных (атрибут внутри json) до 30 списков и 90 списков для двух разных контроллеров. Я не могу узнать, как это сделать.




Извлеките бизнес-логику в класс @Service и укажите требуемый лимит в качестве параметра из контроллера:
@Service
public class MyService {
MyDto createResponse(int limit) {
//.... slice list size, e.g.
List limitedData = data.subList(0, limit);
//...
}
}
@RestController
public class MyController1 {
@Autowired
MyService myService;
MyDto createResponse() {
return myService.createResponse(30);
}
}
@Controller
public class MyController2 {
@Autowired
MyService myService;
MyDto createResponse() {
return myService.createResponse(100);
}
}
Вы можете заглянуть в Pageable. Этот интерфейс можно использовать для разбиения данных на страницы. Таким образом, вы можете вернуть подмножество из 30 элементов, а также отобразить количество других страниц.
Вам нужно будет программно (в вашей реализации Java) точно сказать, как подобрать только 30 элементов (или 90) для вашего DTO (объект передачи данных)