问题标签 [spring-kotlin]

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 投票
0 回答
385 浏览

kotlin - Kotlin 通用问题,应该是 Nothing 的子类型

我正在 Kotlin 上编写一个简单的 Spring 测试,并且出现了我无法理解的泛型编译错误。功能如下:

问题是在行expectBody.consumeWith。出于某种原因,Kotlin 期望类型Nothing带有编译错误:Error:(53, 32) Kotlin: Type argument is not within its bounds: should be subtype of 'Nothing!'. 方法的实际类型consumeWithEntityExchangeResult<T>,但是方法仍然期望Nothing。我会期待类似expectBody.consumeWithEntityExchangeResult<<Map<String, Map<String, Any>>>>expectBody.consumeWith<Map<String, Map<String, Any>>>相反的东西。

但是使用类型Nothing我得到NullPointerException

以下是 Java 中相同的工作等效项:

谁能解释 Kotlin 期望的原因Nothing以及如何更正此代码?

0 投票
1 回答
1259 浏览

spring - Spring WebClient 提取 JsonPath 值

我正在使用 Spring 5 WebClient 测试功能,并且想提取与jsonPath表达式匹配的主体,但找不到任何合适的方法。例如(代码在 Kotlin 中,但我希望这没有任何区别):

实际的 json 正文是:

所以我想将名称列表放入列表变量并使用它。有没有办法在当前的jsonPath支持下做到这一点?

0 投票
2 回答
1341 浏览

spring - Spring Kotlin DSL:获取特定类型的所有 bean

假设我有一个接口Yoyo和这个接口的不同实现:

现在我想实例化所有bean并在上下文初始化后做一些逻辑:

我不想手动获取所有bean的引用(这很乏味),而是这样做:

但是我得到一个例外:

我知道我可以这样做,但我想改用新的 Kotlin DSL:

是否可以?有任何想法吗?

PS 这里是要点

0 投票
1 回答
954 浏览

java - Spring @RestController is not mapping URL with Kotlin

I've created a Kotlin gradle project using Spring IO.

Created a Controller class with a method to return a String.

When I build and run the project I'm getting 404 error. Looking at the logs I don't see the URL mapping to the method.

If I use Java instead of Kotlin it works fine. I am using JDK 10.

Code

0 投票
1 回答
1388 浏览

kotlin - 为什么 queryForObject Kotlin 扩展函数返回可为空的 T?如果它真的会抛出 EmptyResultDataAccessException?

将 Kotlin 和 Spring 5 用于一些简单的项目。我想使用 id 从数据库中获取单个记录queryForObject。我的查询是“按 id 进行简单选择”:

JdbcOperationsExtensions.kt其中声明返回可为空的类型T?

在实践中,当我传递不存在的标识符时,我面临:

org.springframework.dao.EmptyResultDataAccessException:结果大小不正确:预期为 1,实际为 0

那我不明白返回可为空类型的意义何在?您要么收到一条记录,要么收到异常。还是我错过了什么?

0 投票
1 回答
578 浏览

kotlin - 是否有计划为 Spring Tools Suite 添加 Kotlin 支持?

我想将 Kotlin 与 VSCode 的 Spring Tools 套件插件一起使用,但它只支持 Java(对于智能感知之类的东西)。

我知道我应该只使用 intelliJ,我现在会使用,但我每天都用很多不同的语言编程,我想用同一个工具完成所有这些工作。

0 投票
0 回答
357 浏览

spring - 如何使用 spring boot kotlin intellij 启用自动构建和自动重启

我想在编辑项目文件时自动重建项目。

所以,我尝试了 spring-boot-devtools 和 Intellij 设置。

我检查了这个页面

但是,当我在 Spring Boot 项目中编辑文件时,我总是必须手动重新启动项目。

什么是问题?

我的构建设置文件如下。

Intellij 设置在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
346 浏览

spring - 当安全 API 不存在身份验证时,请求正文为空

我正在尝试在使用 Spring Security 保护的 Spring Boot 反应式应用程序中记录所有请求的请求正文。但是我遇到了一个问题,即仅在基本身份验证标头存在时才记录请求正文(即使用户名和密码无效)。但是,如果不存在 auth 标头,则不会记录请求正文。我不确定我缺少什么,并想了解在没有身份验证标头的情况下我如何能够访问请求正文。

请求正文日志记录是使用设置在 上的身份验证入口点完成的HttpBasicSpec。安全配置如下所示:

有一个测试路由器配置有一个路由:

当我向http:localhost:8080/test请求正文发出请求时

在基本身份验证标头中使用无效的用户名和密码,我在控制台中看到以下内容:

但是当我一起删除身份验证时,我看不到同一端点的上述日志记录语句(我正在使用休息客户端进行这些调用)。

工具/框架/语言的版本:

  • 科特林:1.3.50
  • 弹簧启动:2.2.1
  • 爪哇:12
  • 分级:5.6.4
  • Spring依赖管理:1.0.8.RELEASE

我希望能够记录导致身份验证失败的所有请求的请求正文,包括缺少身份验证标头,并希望在这方面提供任何帮助。如果这已在其他地方讨论/发布,我深表歉意。

谢谢!

0 投票
3 回答
438 浏览

spring - 如何注册外部注释以供弹簧验证使用

我有一个定义一些注释的库。这个注释可以添加到我的请求中,我想将该注释粘贴到一些自定义验证器上。


外部库

注释类

请求类


我的应用


我无法让 spring 使用我的UniqueLoginValidator来验证我的请求中使用UniqueValue注释的字段。关于如何将它们粘合在一起的任何想法?我不能使用@Constraint(validatedBy = [UniqueValueValidator::class])因为它在外部库中不可用。

0 投票
0 回答
684 浏览

spring-boot - 用于测试数据库 [h2] 的 Spring Boot Gradle 驱动程序不可用

我在 Spring Boot 项目中使用 H2 数据库。我在 build.gradle.kts 文件中有对 h2 的运行时依赖,但它无法找到驱动程序。

这就是我添加运行时依赖项的方式

runtimeOnly("com.h2database:h2")

这是插件配置

我错过了什么吗?