-
Notifications
You must be signed in to change notification settings - Fork 1
/
WanHttpClient.kt
39 lines (31 loc) · 1.15 KB
/
WanHttpClient.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package pers.jay.demo.net
import com.squareup.moshi.Moshi
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
import pers.jay.library.network.NetworkManager
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
/**
* @Author RookieJay
* @Time 2021/5/19 16:06
* @Description
*/
object WanHttpClient: NetworkManager() {
override fun getBaseUrl(): String {
return "https://www.wanandroid.com/"
}
fun getWanService() = getApiService(WanService::class.java)
override fun useGsonConverter(): Boolean {
return false
}
override fun applyRetrofitConfig(builder: Retrofit.Builder) {
super.applyRetrofitConfig(builder)
/**
* 使用moshi进行json解析,
* 已知使用条件:KotlinJsonAdapterFactory+@JsonClass
* 注意事项:经试验,当属性与json字段名称不一致时,使用@Json注解,但属性声明必须是var才会生效.
* 示例见[WanResponse]
*/
val moshi = Moshi.Builder().addLast(KotlinJsonAdapterFactory()).build()
builder.addConverterFactory(MoshiConverterFactory.create(moshi))
}
}