spring - 开发中的代理前端HTTP调用

标签 spring spring-boot kotlin proxy elm

我正在建立一个小型网站。后端是用 Kotlin 编写的,并使用 Spring boot ,前端内置于Elm .

生成的 JavaScript 应用程序将由我的后端在部署时静态提供服务。

对于开发,我目前的工作是这样的:

  • localhost:8080 上提供我的 Spring Boot 应用程序
  • 使用 create-elm-app 在 b 上提供我的 Elm 应用程序

主要原因是create-elm-app允许Elm应用热编译和热重载,这非常方便。

问题是我必须在本地针对另一个端口设置所有 elm http 调用,这意味着我必须更改生产代码。

理想情况下,我想:

  • 要么对发生变化的 elm 代码进行实时重新编译(我在 Node 中使用了 chokidar,但没有找到直接的 Java 替代方案),并与 Spring Boot 热重载相结合
  • 让 create-elm-app 重定向我的 API 调用
  • 或者通过第三方将我的所有调用自动代理到另一个位置

有人有这方面的经验吗?您会推荐什么设置?

干杯,

最佳答案

好吧,使用代理这个词确实有帮助!

似乎 create-elm-app 文档已经预料到了这个用例。您可以阅读更多about it here .

基本上需要做的是:

  • 在 elm 项目的根目录下创建一个 elmapp.config.js 文件,其中包含以下内容(在我的例子中,您可以调整):
module.exports = {
    proxy: "http://localhost:8080",
}

然后,在您的 elm 代码中,使用绝对 URL。例如:

makeCreateGameUrl : Model -> String
makeCreateGameUrl model =
    absolute
        [ "game" ]
        [ string "players" (joinListOfStrings model.newPlayerNames) ]

此后,您的 API 调用将直接重定向到您的后端。

关于spring - 开发中的代理前端HTTP调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082072/

相关文章:

java - JdbcTemplate queryForList 在没有结果的情况下返回值

javascript - Spring Boot 缩小 javascript

java - 在 spring boot 项目中使用 spring eclipse sts 逆向工程数据库表

spring-boot - 如何并行调用多个Spring Webclient并等待结果?

java - 如何在 IntelliJ IDEA 中禁用 'Convert Java to Kotlin upon paste'?

java - Spring "@Async"一次最大调用次数

java - 我在 lambda 表达式中找不到结果

java - 带有 @RequestMapping 注释的 ReSTLet 不起作用

Java修剪(): Cleanest way to check null string before trimming?

kotlin - Map.Entry 在 Map 中使用 Kotlin 类型别名