Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Swagger Code-gen.
ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² API Swagger Generated.
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠΌ-Π°ΡΡ.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ Π½Π° iOS Swift (Alamofire) ΠΈ Π½Π° Android (Volley)
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΏΠΎΠΌΠΎΠ³ΠΈ
@ mn288 Π΄Π»Ρ Swift, ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Ρ. cc @ jaz-sh @Edubits @jgavris, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π΅ΡΡΡ Π»ΠΈ Ρ Π½ΠΈΡ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠ»Ρ Android (Π·Π°Π»ΠΏ) Π΅ΡΡΡ PR, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΉΠΌ-Π°ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ. ΠΠΎΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ Π²Π°ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ?
@ mn288, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅
ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»Π°ΡΡ SwaggerClientAPI {
....
ΠΎΡΠΊΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ var defaultTimeout = URLSessionConfiguration.default.timeoutIntervalForRequest
.....
}
ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ Π² AlamoFireImplementations.swift Ρ Π²ΡΡΡΠ½ΡΡ ΡΠΎΠ·Π΄Π°Π» ΡΠ΅Π°Π½Ρ Ρ ΡΡΠΈΠΌ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
// Create a new manager for each request to customize its request header
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = buildHeaders()
configuration.timeoutIntervalForRequest = SwaggerClientAPI.defaultTimeout
let manager = Alamofire.SessionManager(configuration: configuration)
managerStore[managerId!] = manager
Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° createSessionManager ()
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ Π² Π΄Π΅ΡΠ΅Π²ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ...
ΠΠ»Π΅ΡΡΡΡΠΈΠΉ; ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΠΈ ΡΡΠ°ΡΠ°Π½ΠΈΡ, ΡΠ΅Π±ΡΡΠ°!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@ mn288, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅
ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»Π°ΡΡ SwaggerClientAPI {
....
ΠΎΡΠΊΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ var defaultTimeout = URLSessionConfiguration.default.timeoutIntervalForRequest
.....
}
ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ Π² AlamoFireImplementations.swift Ρ Π²ΡΡΡΠ½ΡΡ ΡΠΎΠ·Π΄Π°Π» ΡΠ΅Π°Π½Ρ Ρ ΡΡΠΈΠΌ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° createSessionManager ()
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ Π² Π΄Π΅ΡΠ΅Π²ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ...