有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Jhipster中配置热重新加载?

我正在为我现有的项目使用Jhipster(Angular+Springboot)应用程序

除了jhiptser已经生成的控制器(使用.jh文件)之外,我设法手动创建了一个控制器(app.resource),以实现文件下载功能

因此,当我们启动服务器时,通常会启动两个服务器,即gradlewnpm start。第二个在端口9000上运行,该端口最终支持热重新加载功能。(前端开发)

所以问题是,我能够从运行在标准8000端口上的服务器访问这些端点。但是,该方法从代理(9000)端口返回404

我多次尝试清理构建应用程序

注意:新控制器上的@RequestMapping值与已经存在的值不同

这是否与spring security有关

提前谢谢

这是前一个控制器:

@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) 个答案

  1. # 1 楼答案

    您的新控制器不使用/api,因此必须将您的端点URL /fileDownload添加到webpack/webpack.dev.js中的webpack dev server的代理配置中

        proxy: [{
            context: [
                /* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
                '/api',
                '/fileDownload',
    

    您可能希望使用/api/fileDownload来避免更改代理配置,这也是因为/api对于许多其他方面都很有用,比如安全性,还可以在Angular中使用HTML5 URL路由策略来摆脱客户端路由中的#(请参见https://github.com/jhipster/generator-jhipster/pull/9098

    /api/management是避免路由冲突的名称空间,因此在新端点中使用它们通常是明智的