我正在调用一个 api,它告诉我使用 id 作为端点路径,并且 api 会将其编码为 base36。
//const val id: Long = 68203991471
const val base36: String = "vbyw8mn"
interface ApiService {
@GET("v1/series/{id}")
suspend fun getWebtoonApi(@Path("id") id: Long = 68203991471): Response<WebtoonJson>
}
object RetrofitApi {
private val retrofit = Retrofit.Builder()
.baseUrl("https://api.mangaupdates.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val retrofitApi: ApiService = retrofit.create(ApiService::class.java)
}
Run Code Online (Sandbox Code Playgroud)
我尝试将id更改为long和string,但它不起作用。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.webtoon_gacha, PID: 27282
com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 68203991471 at line 1 column 25 path $.series_id
at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:228)
at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:218)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at …Run Code Online (Sandbox Code Playgroud)