如何在 Jhipster 中配置热重载?
How to configure hot reload in Jhipster?
我正在为我现有的项目使用 Jhipster(Angular + Springboot) 应用程序。
除了 jhiptser(使用 .jh 文件)已经生成的控制器之外,我设法手动创建了一个控制器(app.resource)以实现文件下载功能。
因此,当我们启动服务器时,我们通常会启动两个服务器,即 gradlew
和 npm start
。第二个运行在端口 9000 上,最终支持热重载功能。(前端开发)
所以问题是,我能够在标准 8000 端口上从服务器 运行 访问这些端点。但是,从作为代理(9000)的端口,该方法返回 404。
我尝试多次清理构建应用程序。
注意:新控制器上的 @RequestMapping
值与现有控制器不同。
这是否与 spring 安全有关?
提前致谢。
这是之前的控制器:
@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
}
}
您的新控制器不使用 /api
因此您必须将端点 URL /fileDownload
添加到 webpack/webpack.dev.js
中的 webpack 开发服务器的代理配置
proxy: [{
context: [
/* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
'/api',
'/fileDownload',
您可能希望使用 /api/fileDownload
来避免更改代理配置,还因为 /api
对于许多其他方面很有用,例如安全性以及使用 HTML5 URL 路由Angular 中删除客户端路由中的 #
的策略(参见 https://github.com/jhipster/generator-jhipster/pull/9098)。
/api
和 /management
是避免路由冲突的命名空间,因此将它们用于新端点通常是明智的。
我正在为我现有的项目使用 Jhipster(Angular + Springboot) 应用程序。
除了 jhiptser(使用 .jh 文件)已经生成的控制器之外,我设法手动创建了一个控制器(app.resource)以实现文件下载功能。
因此,当我们启动服务器时,我们通常会启动两个服务器,即 gradlew
和 npm start
。第二个运行在端口 9000 上,最终支持热重载功能。(前端开发)
所以问题是,我能够在标准 8000 端口上从服务器 运行 访问这些端点。但是,从作为代理(9000)的端口,该方法返回 404。
我尝试多次清理构建应用程序。
注意:新控制器上的 @RequestMapping
值与现有控制器不同。
这是否与 spring 安全有关?
提前致谢。
这是之前的控制器:
@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
}
}
您的新控制器不使用 /api
因此您必须将端点 URL /fileDownload
添加到 webpack/webpack.dev.js
proxy: [{
context: [
/* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
'/api',
'/fileDownload',
您可能希望使用 /api/fileDownload
来避免更改代理配置,还因为 /api
对于许多其他方面很有用,例如安全性以及使用 HTML5 URL 路由Angular 中删除客户端路由中的 #
的策略(参见 https://github.com/jhipster/generator-jhipster/pull/9098)。
/api
和 /management
是避免路由冲突的命名空间,因此将它们用于新端点通常是明智的。