gpt4 book ai didi

java - Kotlin java.lang.NoSuchMethodException:()

转载 作者:行者123 更新时间:2023-12-02 13:30:26 32 4
gpt4 key购买 nike

我正在使用kotlin将数据库中的类存储在数据库中。问题是该类没有没有参数的构造函数(这是一个Java类)。当我从数据库中检索对象时,出现以下错误,因为它没有构造函数:

java.lang.NoSuchMethodException: org.springframework.security.oauth2.core.OAuth2AccessToken.<init>()

我认为它将解决问题的唯一解决方案如下:
  • 将检索对象的类更改为Java。
  • 存储另一个对象,而不是org.springframework.security.oauth2.core.OAuth2AccessToken类

  • 关于如何解决此问题还有其他想法吗?

    这是我在数据库中的类(class):
    @Document(collection = "authorizedClient")
    data class AuthorizedClientDatabase(
    @Id
    var id: ObjectId = ObjectId.get(),
    var name: String? = null,
    var clientRegistration: ClientRegistration,
    var accessToken: OAuth2AccessToken,
    var refreshToken: OAuth2RefreshToken? = null
    )

    这是存储库类:
    @Repository
    interface AuthorizedClientDatabaseRepository : MongoRepository<AuthorizedClientDatabase, ObjectId> {
    }

    这是 OAuth2AccessToken

    我只是在做一个:
    authorizedClientDatabaseRepository.findById(...)

    最佳答案

    OAuth2AccessToken 类没有您要尝试调用的非参数构造函数。您需要更改代码以使用两个现有构造函数之一:

    public OAuth2AccessToken(TokenType tokenType, String tokenValue, 
    Instant issuedAt, Instant expiresAt) {
    // ...
    }

    要么
    public OAuth2AccessToken(TokenType tokenType, String tokenValue, 
    Instant issuedAt, Instant expiresAt, Set<String> scopes) {
    // ...
    }

    关于java - Kotlin java.lang.NoSuchMethodException:<init>(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61960058/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com