问题标签 [ktor]

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 回答
3590 浏览

kotlin - 使用 Ktor Kotlin 处理 FreeMaker 模板

我对Kotlin(和 Java)以及Ktorand非常FreeMaker陌生,试图制作一个结合所有这些的应用程序,但看起来我在做与FreeMaker模板操作相关的错误。

我的应用程序结构是:

在此处输入图像描述

template.ftl

index.ftl

BlogApp.kt

包博客

build.gradle

我在启动服务器时得到以下输出:

在此处输入图像描述

0 投票
1 回答
3196 浏览

kotlin - Ktor 中的表单身份验证

我是新手KotlinKtor试图查看身份验证部分,所以我得到了以下代码。

路由“/”和“/bye”工作正常,但路由“登录”给出空白页面!

当我禁用下面的身份验证部分时,路由'/login'显示了所需的表单,这意味着错误最有可能在这部分或调用它的方式上?我猜。

0 投票
1 回答
2365 浏览

kotlin - 为典型的 REST 实现嵌套 Ktor 路由匹配器和处理程序的正确方法是什么?

我在理解使用 Ktor 的 DSL 进行请求路由的正确方法时遇到了一些麻烦。问题是,当我测试我的 API 并尝试GET /nomenclature/articles/categories返回所有文章类别的列表时,我得到的是当参数无效时我为路由Invalid article specified返回的消息。/nomenclature/articles/{articleId}articleId

这是我的代码:

如果有人可以通过提供一个基本但比较全面的示例来帮助我,说明如何使用所有 Ktor 路由匹配器和处理程序(包括以嵌套资源方式),那将是非常棒的。

编辑:我已经使用不同的方法重写了路由,但我仍然想知道为什么我以前的版本没有按预期工作。这是我的第二种方法,似乎可以按预期工作(我已经测试过了):

0 投票
1 回答
62 浏览

kotlin - statusFiles 应该保存在哪里?

如前所述我尝试使用Status Files以下代码:

并将文件保存如下:

在此处输入图像描述

但是运行之后,我得到了标准的 404 错误,这意味着文件看不到,我需要添加一些东西,还是我将它们保存在错误的位置?

0 投票
1 回答
980 浏览

web-applications - 在 Ktor 0.9.0 servlet 中控制 cookie 生命周期

我在删除由 Ktor 0.9.0 服务器端应用程序设置的 cookie 时遇到问题。可能我不知道怎么做才对,或者是Ktor框架有遗漏。

cookie 创建和删除本身不是问题,但为了删除 cookie,我必须使用与客户端浏览器上的 cookie 存储的相同路径。Ktor 让我通过 cookie 创建来控制路径。这是我的配置:

在登录页面上/myWebapp/page/login,我创建了 cookie,然后将其发送到客户端,并在发送到 Web 应用程序的其余请求中来回传输:

/myWebapp在客户端上检查时,cookie 会显示路径。默认是/myWebapp/page因为那是登录页面的路径,但路径取自上面显示的 cookie 配置。到目前为止一切都很好。

最终,用户希望通过对登录页面的 POST 请求注销:

这里的问题是我还没有找到控制 cookie 路径的方法。因为登录页面/myWebapp/page/login正在将过期的 cookie 发送回客户端以获得另一条路径(它自己的/myWebapp/page),所以原始 cookie 不会被删除(/myWebapp/page!= /myWebapp)。

尝试删除时如何控制 Ktor 0.9.0 中 cookie 的路径?

我知道如何解决它:通过创建具有相同路径的 cookie,我将从中删除它。但这不是我想要的(Web 应用程序中还有其他路径,比如/myWebapp/others应该使用 cookie)。在创建过程中控制 cookie 路径的能力是没有意义的。

0 投票
1 回答
272 浏览

postgresql - Heroku postgres 关系“information_schema.session_state”不存在

我正在尝试将 Ktor 后端移动到 Heroku postgres db。这里是整个应用程序代码:

https://github.com/MarcinMoskala/KotlinAcademyApp/tree/master/backend

为了转移到 Heroku postgres,我基于这个示例项目:

https://github.com/orangy/ktor-heroku-start

我将数据库配置更改为以下内容:

我添加了 postgressql 依赖项:

在本地它仍在创建 SQLite 数据库,但是当我将其推送到 Heroku 时,我得到以下结果:

0 投票
4 回答
4147 浏览

http - 在 Ktor 中测试 Post 请求

Ktor(kotlin Web 框架)有一个很棒的可测试模式,可以将 http 请求包装在单元测试中。他们给出了一个很好的例子来说明如何在这里测试 GET 端点,但是我在使用 http POST 时遇到了问题。

我试过这个,但帖子参数似乎没有添加到请求中:

有人有想法么?

0 投票
1 回答
92 浏览

ktor - KTOR 中的 .htaccess 等效项

为了允许在我的网站的元素中播放视频,但不允许通过直接链接播放,我在包含源视频的子目录中创建了 .htaccess,仅此而已。使用以下代码:

我需要对ktor服务器做同样的事情,但不知道怎么做?

任何帮助。谢谢。

0 投票
2 回答
2061 浏览

java - 如何使用来自 Ktor Kotlin/Java 应用程序的 gradle 构建有效的 JAR 文件

我一直在尝试为我的 Kotlin/Java Ktor 项目创建一个可执行的 JAR。使用我的 gradle 脚本创建实际的 JAR 很简单,但无论出于何种原因,我都无法弄清楚如何克服错误消息:“JAR 文件:找不到主类 routing.MainKt”。我的 Kotlin 主函数位于包路由中名为 Main.kt 的文件中。下面是我的 gradle 文件。我究竟做错了什么?

编辑:当我在生成的 jar 上运行 jar tf 时,我得到以下相关信息:

Edit2:这是 Main.kt 的基础知识

0 投票
1 回答
1866 浏览

java - 尝试通过嵌入式 Jetty 服务器运行 Ktor 应用程序时如何避免 java.lang.ExceptionInInitializerError?

我正在通过嵌入式 Jetty 服务器运行我的 Ktor Web 应用程序。该应用程序在 IDE 中运行良好。但是,一旦我用 shadowJar 打包并运行生成的 fat jar,Jetty 服务器就会遇到 NoClassDefFoundError。我相信 NoClassDefFoundError 是由 ExceptionInInitializerError 引起的,这是由于 PreEncodedHttpField 内部的 Jetty 静态初始化内部的 ArrayIndexOutOfBoundsException 引起的。IDE内部怎么不会出现这个错误?从 fat jar 运行 Ktor 应用程序时如何避免它?

我的毕业文件: