我正在开发新的android应用程序,我想在koin模块改造中添加baseurl和api_key,但我很困惑
结束点:<代码>https://api-aws-eu-qa-1.auto1-test.com/v1/car-types/manufacturer?wa_key=coding-puzzle-client-449cc9d
API密钥:编码-拼图-客户端-449cc9d
基本网址: https://api-aws-eu-qa-1.auto1-test.com/
我想添加base_url并正确api_key在我的modules.kt文件中,以便以后如果您检查我的modules.kt,我可以正确地从服务器获取数据.kt首先我正在调用api_key然后基本url。并设置我的接口,我在哪里调用get方法在接口遵循的方式
interface ApiInterface {
@GET("v1/car-types/manufacturer?")
suspend fun getCarResponse(): Call<CarManufactureResponse>
}
低于CarManifacturerResponse
data class CarManufactureResponse(
@SerializedName("page")
val page: Int,
@SerializedName("pageSize")
val pageSize: Int,
@SerializedName("totalPageCount")
val totalPageCount: Int,
@SerializedName("mkda")
val mkda: ManufacturerId
)
下面是ManifacturerId
data class ManufacturerId(
@SerializedName("020")
val x020: String,
@SerializedName("040")
val x040: String,
@SerializedName("042")
val x042: String,
@SerializedName("043")
val x043: String,
@SerializedName("057")
val x057: String,
@SerializedName("060")
val x060: String,
@SerializedName("095")
val x095: String,
@SerializedName("107")
val x107: String,
@SerializedName("125")
val x125: String,
@SerializedName("130")
val x130: String,
@SerializedName("141")
val x141: String,
@SerializedName("145")
val x145: String,
@SerializedName("150")
val x150: String,
@SerializedName("157")
val x157: String,
@SerializedName("160")
val x160: String
)
下面是我的模块。kt koin设置模块,我想在其中传递baseurl和api_key
val viewModels = module {
//viewModel { CarViewModel(get()) }
}
val apiModule = module {
single {
val tokenInterceptor = Interceptor { chain ->
val request =
chain
.request()
.newBuilder()
.addHeader(
"API_KEY",Constants.API_KEY
)
.build()
chain.proceed(request)
}
val logInterceptor: HttpLoggingInterceptor = HttpLoggingInterceptor().apply {
this.level = HttpLoggingInterceptor.Level.BODY
}
val okHttpClient =
OkHttpClient.Builder()
.addInterceptor(tokenInterceptor)
.addInterceptor(logInterceptor)
.build()
val retrofit =
Retrofit.Builder()
.client(okHttpClient)
.baseUrl(Constants.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(CoroutineCallAdapterFactory())
.build()
retrofit.create(ApiInterface::class.java)
}
}
下面Constants.kt
object Constants {
const val API_KEY = "wa_key=coding-puzzle-client-449cc9d"
const val BASE_URL = "https://api-aws-eu-qa-1.auto1-test.com/"
}
我如何在koin模块中正确地传递baseurl和apiKey,以便我可以正确地实现改进逻辑
使用下面的代码获取您想要的url:
@GET("v1/car-types/manufacturer?{apiKey}")
suspend fun getCarResponse( @Path("apiKey") type: String,@Query("page") page:String,@Query("pageSize") pageSize:String): Call<CarManufactureResponse>
目前,我在改装方面面临一些问题。对于第二个请求,我提供给ReformInstance的URL正在更改。以下是代码: 以下是针对不同API请求的接口方法: UrlEndPoints.kt 对于第一个请求(loginUserByFacebook),我通过调试响应获得的URL是: http://test.sample.com/req/v1/user/auth/facebook 这很好,工作也很好。但是对
我们的团队决定采用改型2.0,我正在做一些初步的研究。我是这个图书馆的新手。 我想知道如何使用在我们的Android应用程序中通过改装2.0添加自定义标题。有很多教程介绍如何使用在翻新版1.X中添加标头,但由于API在最新版本中发生了很大变化,我不知道如何在新版本中适应这些方法。此外,改装尚未更新其新文档。 例如,在以下代码中,我应该如何实现类来添加额外的头?此外,未记录的对象究竟是什么?何时调用
注意:我知道有很多关于这个主题的帖子,我已经审阅了相当多的没有成功(请看我在这篇文章底部的参考资料)。 我正试图使用Visual Studio代码在TypeScript中运行一个非常简单的测试,其中我在一个文件中声明一个类并将其导入到另一个文件中。但是,我仍然遇到一个问题,我正在导入的文件无法识别我从另一个文件导出的类的方法。 此时我收到的确切错误消息是: [ts]属性“Get FirstName
问题内容: 如何设置模块导入,以便每个模块都可以访问其他所有模块的对象? 我有一个中等大小的Python应用程序,在各个子目录中都有模块文件。我使用创建了将这些子目录附加到模块并导入一组模块的模块。使用该限定条件引用模块对象。然后,我使用将该模块导入其他模块。现在的代码草率,其中有几处通常是重复的。 首先,应用程序失败,因为未分配某些模块引用。单元测试时,会运行相同的代码。 其次,我担心递归模块导
我正在尝试调用一个API,它要求我传入一个API密钥。 我使用HttpURLConnection的服务调用工作正常。 然而,我不确定这是如何工作与改造,因为我的调用进入失败的所有时间。这是我在同一个服务调用中使用的代码 我用这个来称呼它 所有这些调用都将进入改型中的OnFailure方法。如果不使用HeaderParameters发送它,它将以403获得成功,因为我显然需要在某个地方传递api键,