gpt4 book ai didi

Kotlin,改造 2 : lang. IllegalArgumentException : Parameter type must not include a type variable or wildcard: java. util.Map

转载 作者:行者123 更新时间:2023-12-02 12:02:45 27 4
gpt4 key购买 nike

在我的 Kotlin 改造 2 项目中:

class TransportService {

// static analog
companion object {
@JvmStatic
fun checkoutSessions(bodyMap: Map<String, Any>, callback: Callback<Void>) {
val stripeMonitorRestClient = RestClientFactory.createRestClient(StripeRestClient::class.java!!)
val headerMap = mutableMapOf<String, String>()
headerMap["Accept"] = "application/json"
headerMap["Content-Type"] = "application/x-www-form-urlencoded"
headerMap["Stripe-Version"] = "2019-03-14; checkout_sessions_beta=v1"
headerMap["Authorization"] = "Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc"
val adMessagesList = stripeMonitorRestClient.checkoutSessions(headerMap, bodyMap) // error here
// asynchronously
adMessagesList.enqueue(callback)
}
}

}

和休息客户端api:
import retrofit2.Call
import retrofit2.http.FieldMap
import retrofit2.http.HeaderMap
import retrofit2.http.POST
import retrofit2.http.FormUrlEncoded


interface StripeRestClient {

@FormUrlEncoded
@POST("checkout/sessions")
fun checkoutSessions(@HeaderMap headers: Map<String, String>, @FieldMap body: Map<String, Any>): Call<Void>
}

但我得到运行时错误
Exception in thread "main" java.lang.IllegalArgumentException: Parameter type must not include a type variable or wildcard: java.util.Map<java.lang.String, ?> (parameter #2)

在这一行:
val adMessagesList = stripeMonitorRestClient.checkoutSessions(headerMap, bodyMap) 

这里记录:
Hello, World! Current date(groovy) = Mon Apr 01 17:32:47 EEST 2019
Exception in thread "main" java.lang.IllegalArgumentException: Parameter type must not include a type variable or wildcard: java.util.Map<java.lang.String, ?> (parameter #2)
for method StripeRestClient.checkoutSessions
at retrofit2.Utils.methodError(Utils.java:52)
at retrofit2.Utils.methodError(Utils.java:42)
at retrofit2.Utils.parameterError(Utils.java:61)
at retrofit2.RequestFactory$Builder.validateResolvableType(RequestFactory.java:720)
at retrofit2.RequestFactory$Builder.parseParameterAnnotation(RequestFactory.java:551)
at retrofit2.RequestFactory$Builder.parseParameter(RequestFactory.java:295)
at retrofit2.RequestFactory$Builder.build(RequestFactory.java:182)
at retrofit2.RequestFactory.parseAnnotations(RequestFactory.java:65)
at retrofit2.ServiceMethod.parseAnnotations(ServiceMethod.java:25)
at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:168)
at retrofit2.Retrofit$1.invoke(Retrofit.java:147)
at com.sun.proxy.$Proxy0.checkoutSessions(Unknown Source)
at myproject.service.TransportService$Companion.checkoutSessions(TransportService.kt:19)
at myproject.MainKt.main(Main.kt:14)

最佳答案

只需在接口(interface)方法之前使用 @JvmSuppressWildcards 注释 -
像 -

 @POST("add_new_purchase.php")
@JvmSuppressWildcards
fun addNewPurchase(@Body purchaseList: List<PurchaseModel>): Call< BaseResponse>

关于Kotlin,改造 2 : lang. IllegalArgumentException : Parameter type must not include a type variable or wildcard: java. util.Map<java.lang.String, ?>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55457671/

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