我尝试使用www.example.com API创建一个应用程序walt.id,在该应用程序中,我收到一个错误,指出变量的类型应为kotlin.collections.List<kotlin.String>
,但实际上却是java.util.ArrayList
,尽管变量的类型正确:
@Json(name = "@context")
var context: List<String>? = listOf("https://www.w3.org/2018/credentials/v1"),
我想知道这是Kotlin问题还是Walt.idAPI问题,因为它的实现不可用。变量是模型的一部分,传递给转换对象的方法:
package model
import com.beust.klaxon.Json
import id.walt.vclib.model.*
import id.walt.vclib.registry.VerifiableCredentialMetadata
import java.time.LocalDate
data class EHIC(
@Json(name = "@context")
var context: List<String>? = listOf("https://www.w3.org/2018/credentials/v1"),
...
当我试图调用转换EHIC对象实现的方法时,我得到了以下错误:
Exception in thread "main" com.beust.klaxon.KlaxonException: Unable to instantiate VerifiableAttestation:
Parameter context: expected kotlin.collections.List<kotlin.String> but received java.util.ArrayList (value: [https://www.w3.org/2018/credentials/v1])
No argument provided for a required parameter: parameter #1 id of fun `<init>`(kotlin.collections.List<kotlin.String>, kotlin.String?, kotlin.String?, kotlin.String?, kotlin.String?, kotlin.String?, id.walt.vclib.credentials.VerifiableAttestation.VerifiableAttestationSubject?, id.walt.vclib.model.CredentialStatus?, id.walt.vclib.model.CredentialSchema?, kotlin.collections.List<id.walt.vclib.credentials.VerifiableAttestation.Evidence>?, id.walt.vclib.model.Proof?): id.walt.vclib.credentials.VerifiableAttestation
No argument provided for a required parameter: parameter #1 id of fun `<init>`(kotlin.collections.List<kotlin.String>, kotlin.String?, kotlin.String?, kotlin.String?, kotlin.String?, kotlin.String?, id.walt.vclib.credentials.VerifiableAttestation.VerifiableAttestationSubject?, id.walt.vclib.model.CredentialStatus?, id.walt.vclib.model.CredentialSchema?, kotlin.collections.List<id.walt.vclib.credentials.VerifiableAttestation.Evidence>?, id.walt.vclib.model.Proof?): id.walt.vclib.credentials.VerifiableAttestation
No argument provided for a required parameter: parameter #1 id of fun `<init>`(kotlin.collections.List<kotlin.String>, kotlin.String?, kotlin.String?, kotlin.String?, kotlin.String?, kotlin.String?, id.walt.vclib.credentials.VerifiableAttestation.VerifiableAttestationSubject?, id.walt.vclib.model.CredentialStatus?, id.walt.vclib.model.CredentialSchema?, kotlin.collections.List<id.walt.vclib.credentials.VerifiableAttestation.Evidence>?, id.walt.vclib.model.Proof?): id.walt.vclib.credentials.VerifiableAttestation
at com.beust.klaxon.JsonObjectConverter.initIntoUserClass(JsonObjectConverter.kt:115)
at com.beust.klaxon.JsonObjectConverter.fromJson(JsonObjectConverter.kt:30)
at com.beust.klaxon.DefaultConverter.fromJsonObject(DefaultConverter.kt:223)
at com.beust.klaxon.DefaultConverter.fromJson(DefaultConverter.kt:40)
at com.beust.klaxon.Klaxon.fromJsonObject(Klaxon.kt:296)
at id.walt.vclib.model.VerifiableCredential$Companion.fromString(VerifiableCredential.kt:219)
at id.walt.vclib.model.VerifiableCredentialKt.toCredential(VerifiableCredential.kt:198)
at ebsi.IssuerKt.issueCredentials(Issuer.kt:138)
at ebsi.IssuerKt.credentials(Issuer.kt:34)
at ebsi.IssuerKt.main(Issuer.kt:25)
at ebsi.IssuerKt.main(Issuer.kt)
Process finished with exit code 1
我还尝试将变量写为:
@Json(name = "@context") var context: kotlin.collections.List<kotlin.String> = listOf("https://www.w3.org/2018/credentials/v1"),
但它仍然会抛出同样的错误。
我为我糟糕的英语和含糊不清道歉,我非常疲惫,需要睡眠。帮助是非常感激的,谢谢。
其他一些照片可能会有所帮助:
1条答案
按热度按时间qlvxas9a1#
我觉得你应该反其道而行之,