Как настроить горячую перезагрузку в Jhipster? - PullRequest
0 голосов
/ 07 февраля 2019

Я использую приложение 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 Ответ

0 голосов
/ 07 февраля 2019

Ваш новый контроллер не использует /api, поэтому вы должны добавить URL-адрес своей конечной точки /fileDownload к конфигурации прокси-сервера web-сервера 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 являются пространствами имен, чтобы избежать конфликтов маршрутов, поэтому обычно целесообразно использовать их для новых конечных точек.

...