Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yonaskolb/NetworkRequest

Swift networking library for easily defining, executing, and mocking network requests
https://github.com/yonaskolb/NetworkRequest

networking rest swift

Last synced: 3 months ago
JSON representation

Swift networking library for easily defining, executing, and mocking network requests

Awesome Lists containing this project

README

        

# NetworkRequest

A simple networking library for easily defining, executing and mocking network requests.

```swift

struct GetPosts: JSONDecodableRequest {
let userId: Int

typealias ResponseType = [Post]
let path: String = "/posts"
var urlParams: [String: Any?] { return ["userId": userId] }
}

struct Post: Decodable {
let userId: Int
let id: Int
let title: String
let body: String
}

let networkService = HTTPNetworkService(baseURL: "https://jsonplaceholder.typicode.com")
let request = GetPosts(userId: 2)

networkService.makeRequest(request) { result in
switch result {
case .success(let posts): // posts is [Post]
print(posts)
case .failure(let error): // error is RequestError
print(error)
}
}
```