From Kotlin to Swift: Practical Usage Examples
Features
Headers
Query Parameters
HTTP
GET
POST - String or Class via PostJson
PUT - String or Class via PutJson
DELETE
Response
String or Class via .decode()
successfullyReceived - 200..299 - or statusCode: Int
Kotlin
val omniClient = OmniClient(scheme = OmniClientScheme.Https, host = "webhook.site")
@Serializable
data class User(
val userId: Int,
val userName: String
)
private suspend fun post() : Boolean {
val user = User(userId = 1, userName = "Claudio")
val omniResponse = omniClient.postJson(
path = "/cbb015ee-cc09-4629-9ca1-7625a73cb9e6",
body = user
)
return omniResponse.successfullyReceived()
}
private suspend fun get() : User? {
val omniResponse = omniClient.get(path = "/cbb015ee-cc09-4629-9ca1-7625a73cb9e6")
if (omniResponse.successfullyReceived()) {
return omniResponse.decode()
}
return null
}
Swift
var omniClient = OmniClient(scheme: OmniClientScheme.Https, host: "webhook.site")
struct User : Codable {
let userId: Int
let userName: String
}
private func post() async throws -> Bool {
let user = User(userId: 1, userName: "Claudio")
let omniResponse = try await omniClient.postJson(
path: "/cbb015ee-cc09-4629-9ca1-7625a73cb9e6",
body: user
)
return omniResponse.successfullyReceived()
}
private func get() async throws -> User? {
let omniResponse = try await omniClient.get(path: "/cbb015ee-cc09-4629-9ca1-7625a73cb9e6")
if (omniResponse.successfullyReceived()) {
return try omniResponse.decode()
}
return nil
}