Arp*_*kla 5 android json kotlin moshi retrofit2
我需要使用以下 json 向后端发出 POST 请求:
{
start_time: 123456789
}
Run Code Online (Sandbox Code Playgroud)
我在 Retrofit 请求中为主体创建了以下数据类:
{
start_time: 123456789
}
Run Code Online (Sandbox Code Playgroud)
但是当我检查后端时,请求包含该startTime字段而不是start_time. 如何更改此变量的名称以进行 json 序列化?
编辑:我的build.gradle:
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-moshi:2.9.0"
Run Code Online (Sandbox Code Playgroud)
我的api接口:
data class MyRequestBody(
@Json(name="start_time")
val startTime: Long
)
Run Code Online (Sandbox Code Playgroud)
改造建造者:
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-moshi:2.9.0"
Run Code Online (Sandbox Code Playgroud)
1-添加这些 moshi 依赖项:
// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-moshi:2.9.0'
// Moshi
implementation 'com.squareup.moshi:moshi-kotlin:1.13.0'
kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.13.0'
Run Code Online (Sandbox Code Playgroud)
2-将改造生成器更改为:
Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(MoshiConverterFactory.create(
Moshi.Builder()
.addLast(KotlinJsonAdapterFactory())
.build()
))
.build()
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题。
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |