Я новичок в Spring Framework и REST, и сейчас пытаюсь перенести REST из трикотажа в Spring boot 2.1
Контроллер отлично работает с jax-rs, однако я не хочу использовать jax-rs при весенней загрузке. Итак, я попытался весной Mvc, и я получаю ошибку «ресурс не найден». Пожалуйста, я бы очень признателен за любую помощь.
Я пробовал это
@GetMapping(value ="/generic/download_file/{path:[^\\.+]*}", consumes ="application/vnd.X-FileContent")
public ResponseEntity<?> downloadFile(@PathVariable("path") String filePath){
String actualFilePath = "";
try {
actualFilePath = filePath.replaceAll("\\/", "\\\\");
File file = new File(actualFilePath);
if (file.exists()) {
return ResponseEntity.ok().header("Content-Disposition", "attachment; filename=\"" + file.getName() + "\"").body(file);
} else {
return errorHandling.errorResponseFactory("1.0.0", Thread.currentThread().getStackTrace()[1], "",
RecommendedSolution.UseValidDirectoryPath, "File not exist.");
}
} catch (Exception ex) {
ActionLog.writeLog("program_library_v510", "1.0.0", "Exception occur during gettig generic package file",
ActionLogType.DebugLog);
ActionLog.writeLog("program_library_v510", "1.0.0", "Exception occur during getting generic package file",
ActionLogType.ErrorLog);
return errorHandling.errorResponseFactory("1.0.0", Thread.currentThread().getStackTrace()[1], "",
RecommendedSolution.UnexpectedErrorMsg, "");
}
}
2019-01-07 17: 17: 23.930 ИНФОРМАЦИЯ 13664 --- [nio-9090-exec-2] o.s.web.servlet.DispatcherServlet: завершена инициализация за 10 мс
2019-01-07 17: 17: 23.947 DEBUG 13664 --- [nio-9090-exec-2] o.s.web.servlet.DispatcherServlet: GET "/packages/download_file/D:/xfolder/test.txt", параметр
Rs = {}
2019-01-07 17: 17: 24.002 DEBUG 13664 --- [nio-9090-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping: сопоставлено с ResourceHttpRequestHandler ["classpath: / META-INF /
resources / "," classpath: / resources / "," classpath: / static / "," classpath: / public / "," / "]
2019-01-07 17: 17: 24.006 DEBUG 13664 --- [nio-9090-exec-2] o.s.w.s.r.ResourceHttpRequestHandler: ресурс не найден
2019-01-07 17: 17: 24.007 DEBUG 13664 --- [nio-9090-exec-2] o.s.web.servlet.DispatcherServlet: завершено 404 NOT_FOUND
2019-01-07 17: 17: 24.015 DEBUG 13664 --- [nio-9090-exec-2] o.s.web.servlet.DispatcherServlet: отправка "ERROR" для GET "/ error", параметры = {}
2019-01-07 17: 17: 24.029 DEBUG 13664 --- [nio-9090-exec-2] swsmmaRequestMappingHandlerMapping: сопоставлено с общедоступным org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure.webserv. error.BasicErrorController.error (javax.servlet.http.HttpServ
letRequest)
2019-01-07 17: 17: 24.077 DEBUG 13664 --- [nio-9090-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor: Использование 'application / json', задано [ / ] и поддерживается [application
ation / json, приложение / + json, приложение / json, приложение / + json]
2019-01-07 17: 17: 24.078 DEBUG 13664 --- [nio-9090-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor: Запись [{timestamp = Mon Jan 07 17:17:24 SGT 2019, статус = 40
4, ошибка = не найдено, сообщение = сообщение недоступно, путь = / packages / download_file / D: /xfolder/test.txt}]
2019-01-07 17: 17: 24.146 DEBUG 13664 --- [nio-9090-exec-2] o.s.web.servlet.DispatcherServlet: выход из отправки «ОШИБКА», состояние 404