Ответ
Да, можно, но нужно указать Dagger, как различать эти зависимости. Используй @Named или кастомные квалификаторы.
Пример с @Named:
@Module
class AppModule {
@Named("api1")
@Provides
fun provideApi1(): ApiService = ApiService("https://api1.com")
@Named("api2")
@Provides
fun provideApi2(): ApiService = ApiService("https://api2.com")
}
// Использование:
class MyClass @Inject constructor(
@Named("api1") private val api1: ApiService,
@Named("api2") private val api2: ApiService
)
Или с кастомным квалификатором:
@Qualifier
annotation class Api1
@Qualifier
annotation class Api2