Как настроить горячую перезагрузку в Jhipster?
Я использую приложение Jhipster(Angular + Springboot) для моего существующего проекта.
Мне удалось создать контроллер (app.resource) вручную, кроме уже сгенерированных jhiptser (используя файл.jh) для достижения функции загрузки файла.
Итак, когда мы запускаем сервер, мы обычно запускаем два сервера, т.е. gradlew
а также npm start
, Второй работает на порте 9000, который в конечном итоге поддерживает функцию горячей перезагрузки (предварительная разработка).
Так что проблема в том, что я могу получить доступ к этим конечным точкам с сервера, работающего на стандартном порту 8000. Однако из порта, который является прокси (9000), метод возвращает 404.
Я пытался очистить сборку приложения несколько раз.
Обратите внимание @RequestMapping
Значение на новом контроллере отличается от тех, которые уже есть.
Это как-то связано с весенней безопасностью?
Заранее спасибо.
Вот предыдущий контроллер:
@RestController
@RequestMapping("/api")
public class FGAppDiagramResource {
@GetMapping(value = "/fg-app-diagram-downloadFile")
public void getImage(String fileName,String folderName, HttpServletResponse
response){
// Some Code
}
}
Вот мой новый контроллер:
@RestController
@RequestMapping("/fileDownload")
public class DownloadFileController {
private final Logger log =
LoggerFactory.getLogger(DownloadFileController.class);
public DownloadFileController() {
super();
}
@Autowired
private ApplicationProperties applicationProperties;
@GetMapping(value = "/fg-app-diagram-downloadFile/{fileName}/{folderName}")
public void getImage(@PathVariable String fileName,@PathVariable String folderName, HttpServletResponse response) {
// Some Code
}
}
1 ответ
Ваш новый контроллер не использует /api
поэтому вы должны добавить свой конечный URL /fileDownload
к настройке прокси сервера webpack dev в webpack/webpack.dev.js
proxy: [{
context: [
/* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
'/api',
'/fileDownload',
Вы можете использовать /api/fileDownload
чтобы избежать изменения конфигурации прокси, а также потому, что /api
полезен для многих других аспектов, таких как безопасность, а также использование стратегии маршрутизации URL-адресов HTML5 в Angular, чтобы избавиться от #
в клиентских маршрутах (см. https://github.com/jhipster/generator-jhipster/pull/9098).
/api
а также /management
являются пространствами имен, чтобы избежать конфликтов маршрутов, поэтому обычно целесообразно использовать их для новых конечных точек.