Я пытался получить данные, используя SpringBoot для моего REST API, и мой запрос не работает, когда я пытаюсь получить нужные мне данные. Ожидаемые результаты запроса на выборку вернут ~ 50 столбцов и около 20 тыс. Записей. Я попытался ограничить свой запрос 3k записями, и мой запрос на выборку прошел, но мне действительно нужно получить все записи в одном go. У меня есть все необходимые данные в материализованном представлении, поэтому с запросом проблем не должно быть, и для быстрого выбора * в SQL плюс потребуется около 10 se c, чтобы вернуть все записи. Любые идеи о том, как мне пройти через это без истечения времени ожидания?
РЕДАКТИРОВАТЬ: Тестируя API через Insomnia, я не получаю никаких ошибок, а просто получаю сообщение «Нет ответа для ответа» через 5 минут.
Некоторые коды ниже:
DataListController. java
@ApiResponses(value = {
@ApiResponse(code = 401, message = "Unauthenticated session for current user"),
@ApiResponse(code = 403, message = "Insufficient privileges for current user"),
@ApiResponse(code = 500, message = "Unhandled system exception")
})
@RestController
@RequestMapping("/api/v1")
public class DataListController {
private DataSource dataSource;
DataListService dataListService;
@Autowired
public DataListController(
DataListService dataListService,
DataSource dataSource
) {
this.dataListService = dataListService;
this.dataSource = dataSource;
}
@ApiOperation(
value = "Fetch All Data"
)
@ApiResponses(value = {
@ApiResponse(code = 200, response = DataListRecord.class, responseContainer = "List", message = "Fetch all records")
})
@GetMapping({"/data/list"})
public HttpEntity<List<Map>> getAllData(HttpServletResponse response) {
List<Map> result = dataListService.getAllData();
return ResponseEntity.ok(result);
}
}
DataListService. java
@Service
public class DataListService {
private DataListDao dataListDao;
@Autowired
public DataListService(
DataListDao dataListDao
) {
this.dataListDao = dataListDao;
}
public List<Map> getAllData() {
return dataListDao.getAllData();
}
}
DataListDao. java
@Mapper
public interface DataListDao {
public List<Map> getAllData();
}
DataListDao. xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="project.repository.DataListDao">
<select id="getAllData" resultType="map">
select * from MV_DATA_LIST
</select>
</mapper>