问题标签 [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.
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!'
. 方法的实际类型consumeWith
是EntityExchangeResult<T>
,但是方法仍然期望Nothing
。我会期待类似expectBody.consumeWithEntityExchangeResult<<Map<String, Map<String, Any>>>>
或expectBody.consumeWith<Map<String, Map<String, Any>>>
相反的东西。
但是使用类型Nothing
我得到NullPointerException
:
以下是 Java 中相同的工作等效项:
谁能解释 Kotlin 期望的原因Nothing
以及如何更正此代码?
spring - Spring WebClient 提取 JsonPath 值
我正在使用 Spring 5 WebClient 测试功能,并且想提取与jsonPath
表达式匹配的主体,但找不到任何合适的方法。例如(代码在 Kotlin 中,但我希望这没有任何区别):
实际的 json 正文是:
所以我想将名称列表放入列表变量并使用它。有没有办法在当前的jsonPath
支持下做到这一点?
spring - Spring Kotlin DSL:获取特定类型的所有 bean
假设我有一个接口Yoyo
和这个接口的不同实现:
现在我想实例化所有bean并在上下文初始化后做一些逻辑:
我不想手动获取所有bean的引用(这很乏味),而是这样做:
但是我得到一个例外:
我知道我可以这样做,但我想改用新的 Kotlin DSL:
是否可以?有任何想法吗?
PS 这里是要点。
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
kotlin - 为什么 queryForObject Kotlin 扩展函数返回可为空的 T?如果它真的会抛出 EmptyResultDataAccessException?
将 Kotlin 和 Spring 5 用于一些简单的项目。我想使用 id 从数据库中获取单个记录queryForObject
。我的查询是“按 id 进行简单选择”:
在JdbcOperationsExtensions.kt
其中声明返回可为空的类型T?
:
在实践中,当我传递不存在的标识符时,我面临:
org.springframework.dao.EmptyResultDataAccessException:结果大小不正确:预期为 1,实际为 0
那我不明白返回可为空类型的意义何在?您要么收到一条记录,要么收到异常。还是我错过了什么?
kotlin - 是否有计划为 Spring Tools Suite 添加 Kotlin 支持?
我想将 Kotlin 与 VSCode 的 Spring Tools 套件插件一起使用,但它只支持 Java(对于智能感知之类的东西)。
我知道我应该只使用 intelliJ,我现在会使用,但我每天都用很多不同的语言编程,我想用同一个工具完成所有这些工作。
spring - 如何使用 spring boot kotlin intellij 启用自动构建和自动重启
我想在编辑项目文件时自动重建项目。
所以,我尝试了 spring-boot-devtools 和 Intellij 设置。
我检查了这个页面。
但是,当我在 Spring Boot 项目中编辑文件时,我总是必须手动重新启动项目。
什么是问题?
我的构建设置文件如下。
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
我希望能够记录导致身份验证失败的所有请求的请求正文,包括缺少身份验证标头,并希望在这方面提供任何帮助。如果这已在其他地方讨论/发布,我深表歉意。
谢谢!
spring - 如何注册外部注释以供弹簧验证使用
我有一个定义一些注释的库。这个注释可以添加到我的请求中,我想将该注释粘贴到一些自定义验证器上。
外部库
注释类
请求类
我的应用
我无法让 spring 使用我的UniqueLoginValidator来验证我的请求中使用UniqueValue注释的字段。关于如何将它们粘合在一起的任何想法?我不能使用@Constraint(validatedBy = [UniqueValueValidator::class])因为它在外部库中不可用。
spring-boot - 用于测试数据库 [h2] 的 Spring Boot Gradle 驱动程序不可用
我在 Spring Boot 项目中使用 H2 数据库。我在 build.gradle.kts 文件中有对 h2 的运行时依赖,但它无法找到驱动程序。
这就是我添加运行时依赖项的方式
runtimeOnly("com.h2database:h2")
这是插件配置
我错过了什么吗?