问题标签 [javalin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
229 浏览

java - Javalin Websocket 客户端静默连接失败

我正在尝试创建一个与 Websocket 服务器通信的 Websocket 客户端。我的服务器代码似乎运行正常,因为我可以使用基于 Web 的客户端连接到它。但是我的 Java 实现只是默默地连接失败,然后在 send() 上抛出异常。

这是我尝试这个的临时装备:

更新:我发现问题是示例代码使用了已弃用的 DRAFT 版本。我更新了,现在可以让两个线程互相交谈。我已经更新了代码以显示工作版本。

我现在的一个问题是如何关闭服务器?

我将在下面包含 Websocket 构建器代码,但正如我所说,当我运行 main 并坐在循环中,服务器在后台线程中运行时,我可以ws://localhost:7000/websocket使用https://websocketking.com/连接到它。

这是输出:

布拉德

PS:

我将连接更改为阻塞连接,并在客户端的 onClose() 方法中添加了打印原因,现在报告:

org.java_websocket.drafts.Draft_10@2025740c refuses handshake

老实说,我不知道草稿库在做什么,所以接下来会阅读。

0 投票
1 回答
420 浏览

kotlin - 为什么 Swagger 不检测可选的 JSON 属性?

我有以下课程:

有些属性不是必需的,因为它们要么可以为空(性别、国家/地区),要么具有默认值(createdAt)。

但是,生成的 swagger 文档如下:

因此,就文档而言,它表明这createdAt是强制性的(这是不正确的)......

生成的 Swagger 文档

我正在使用 Kotlin、Javalin 和 OpenAPI ( io.javalin.plugin.openapi) Javalin 集成。

我不知道我还需要什么才能让 OpenAPI 理解这createdAt是可选的......

0 投票
0 回答
91 浏览

java - 使用 Javalin 将 java.util.Date 转换为 Java.sql.Date

我正在为大学使用 Java(Javalin 和 Maven)创建一个 Web 应用程序。

我们必须为电影预订制作一个网站,我正在努力找出如何正确转换日期,以便它们可以被 SQL 和 Java 读取。

我必须将日期值存储在数据库中,到目前为止,我只是将它们存储为字符串,但我希望它具有更具体的日期含义。它是使用 MVC 模型构建的。

这是我的会话模型中的代码。

那是我的 SessionsDao 文件中的代码。

最后这是我的 SQL 创建字段中的代码。

当我尝试创建一个新的电影会话时,这是控制台打印的错误。

我不确定如何正确转换日期属性。

任何有关如何进行的帮助或其他方法都会非常有帮助!

0 投票
1 回答
37 浏览

java - 从 javalin/java 中的文件格式化文本

我在我的 javalin 中做了一个获取,它从文本文件发回数据。

这是获取方法:

但这会在一大行文本中返回数据。

如何格式化此文本以使其看起来更好一些?

0 投票
1 回答
219 浏览

java - Javalin 网络服务器从另一个网络服务器加载配置

我得到了这个服务器,我在其中加载了几个不同的 jar 作为插件。其中 2 个 jar 使用 Javalin、Jetty 网络服务器来实现某些功能。目前我的插件由于某种原因io.javalin.core.JavalinConfig从另一个 jar 加载,这会导致冲突,因为它还会抱怨无法找到 jar 文件中的 web 文件。

[13:46:30 WARN]:[ItemSorter] 从 Storefront v2.0-SNAPSHOT 加载了类 io.javalin.core.JavalinConfig,这不是该插件的依赖、软依赖或 loadbefore。
[13:46:30 WARN]:[ItemSorter] 插件 ItemSorter v0.01 在执行任务 221 java.lang.RuntimeException 时产生异常:路径为“/web”的静态资源目录不存在。根据您的设置,空文件夹可能不会被复制到类路径。在 io.javalin.http.staticfiles.JettyResourceHandler.getResourcePath(JettyResourceHandler.kt:59) ~[?:?] 在 io.javalin.http.staticfiles.JettyResourceHandler.addStaticFileConfig(JettyResourceHandler.kt:27) ~[?:?]在 io.javalin.core.JavalinConfig.addStaticFiles(JavalinConfig.java:122) ~[?:?] 在 io.javalin.core.JavalinConfig.addStaticFiles(JavalinConfig.java:115) ~[?:

加载我的 javalin 的片段:

加载 javalin 的其他插件的片段:

任何人有任何想法来分开他们的负载?

0 投票
0 回答
65 浏览

api - 验证 Javalin 请求时强制执行 Jackson JSON 字段名称

我正在尝试使用特定的 JSON 字段名称验证我的 Javalin POST 请求。字段名称必须与预期的字段名称匹配,我不确定如何做到这一点。

我期望的 JSON 字段名称是“someIds”,但即使 JSON 字段名称是其他名称(例如“notSomeIds”),Jackson 映射和验证也有效。

如果名称与验证停止不匹配,我该如何强制执行?

0 投票
2 回答
63 浏览

javascript - Javascript 未设置 Cookie

我正在尝试使用 Javascript 设置 cookie。这段代码一直在工作,直到最近,当我开始获取nullcookie 的价值时。我真的不确定我可以改变什么来导致这种情况。这是我的HTML

这是我的 Javascript。我添加了一条日志记录行来测试,但它从未打印到控制台,所以我想我可能在调用该函数时遇到问题。

任何帮助都非常感谢!我不知所措。

编辑:我正在使用 Javalin 在 Java 程序中访问我的 cookie,这就是我看到它们为空的地方。我在 Javalin 中呈现文档,然后尝试访问 cookie,然后得到 NullPointerException。这是Java代码:

0 投票
0 回答
36 浏览

vuejs2 - vue中嵌入模板

我想在 VueJS 中使用本地组件:

我的组件文件(清理了一下):

这个外部 Hero 模板用于列表迭代器:

但是,当我渲染卡片列表时,它只生成模板中第一个td的列表:hvp

在此处输入图像描述

当我注释掉hpv页面调用时,使用 Hero 模板中的所有 HTML 代码正确呈现。

我试图弄清楚我遗漏了哪一步,但找不到线索。最后一条信息:我使用 JavalinVue 来支持服务器端,而不是基于 nodejs 的 Vue CLI。我不知道它是否有任何影响,但可能很重要。

更新 1

在 IVO GELOV 发现多个根标签的问题后,由于我无法迁移到 Vue3,我尝试按照他的建议将其作为功能模板。我删除了模板并创建了render函数:

虽然控制台显示渲染被正确调用,但结果是一样的:既没有渲染节点,也没有显示父 Hero 组件。我试图移动到不同的文件中,尝试了功能模板格式,但都没有奏效。

0 投票
1 回答
627 浏览

json - 用 Javalin 框架中的 kotlinx.serialization 替换 Jackson

我正在尝试用 Kotlinx.serialization 替换默认的Javalin JSON 序列化程序 Jackson。

该文档显示了如何使用 GSON 序列化程序来完成。
不幸的是,kotlinx 序列化程序具有不同的函数签名,我无法弄清楚如何传递参数。

序列化是可以的,但使用 decodeFromString 函数的反序列化需要传递映射函数给定的类型为targetClass.

我被困在这里:

但我得到:Cannot use 'T' as reified type parameter. Use a class instead.

我也试过:

但我收到一个警告:Override by an inline function和一个错误:Override by a function with reified type parameter

我是新手kotlin,我正在努力理解这个覆盖有什么问题。

0 投票
2 回答
394 浏览

bootstrap-vue - 在 Javalin 和 Vue 中使用 webjars

我知道 Javalin 支持 Vue,我使用它没有问题。它很容易设置,我只需要调用config.enableWebjars()Vue 就可以了,而且非常简单。但是,我想使用与 Javalin 没有深度集成的其他工具。即我想bootstrap-vue用于高级组件。通常,当我通过 npm 和手动配置使用它时,添加对 Vue 的支持也很简单:

但是,这不能直接转换为 Javalin Vue 支持,因为如果我将上述行添加到顶层layout.html

我会得到一个错误:Uncaught SyntaxError: import declarations may only appear at top level of a module

我确信我错过了这一点,所以我将不胜感激任何帮助,如何做到这一点。