Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prismamedia/ios-apirouter
https://github.com/prismamedia/ios-apirouter
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/prismamedia/ios-apirouter
- Owner: prismamedia
- License: bsd-3-clause
- Created: 2022-03-16T15:15:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-27T20:14:49.000Z (over 2 years ago)
- Last Synced: 2024-10-09T02:16:36.942Z (about 1 month ago)
- Language: Swift
- Size: 34.2 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README_FR.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# API Tools
Explication de l'utilisation de la lib.
## Objectif
- Avoir une seule version d'Alamofire dans tous les projets.
- Créer rapidement les routes d'API.## Créer une route API
Une route peut englober plusieurs cas, dans notre exemple la récupération des `Todos` peut se faire via la récupération de la liste ou d'un seul todo.
Les librairies nécessaires :
```
import ApiRouter
import Alamofire
```Création d'une route :
```
extension ApiRouter { // on extend la class du pod
enum Todo: Route { // `Todo` = nom de ma nouvelle route
case list // pour recuperer la list des todos
case get(id: String) // pour recuperer une todo spécifique
```Ensuite il suffit d'implémenter le protocol Route.
Exemple d'implémentation du code: `Api-Tools/Data/Api/ApiTodo.swift`## Le call
Le call peut s'effectuer de trois manières :
```
// Décodage
public func call(withCompletionCall completionCall: @escaping Api.Api.ApiResponse) -> Alamofire.DataRequest? where R : Decodable, R : Encodable// Traitement manuel du retour
public func call(withHandlerResult handlerResult: @escaping Api.Api.ApiResponse) -> Alamofire.DataRequest?// Sans traitement sur le retour
public func call(withoutHandler handlerResult: @escaping Api.Api.ApiResponse) -> Alamofire.DataRequest?
```Exemple d'implémentation du code : (cf. `Api-Tools/ViewController.swift`)