J'utilise Alamofire. Par conséquent, dans la réponse, il y a des codes de statut. Devrais-je vérifier et gérer chaque cas de code d'état disponible ou que dois-je faire pour les gérer?
switch response.response?.statusCode { case 201: print("created user") case 400: print("Bad request") // ........... default: print(response.result.value) }
5 Réponses :
Il n'y a pas besoin de vérifier pour chaque code d'état. Ce que je ferais normalement, c'est de vérifier si la demande est réussie ou échoue à l'aide du modèle ci-dessous.
Alamofire.request(request).responseJSON { (response) in switch response.result { case .success: if let httpURLResponse = response.response { if httpURLResponse.statusCode == 200 { // Success } else { // Response Unsuccessful } } else { // Response Unsuccessful } case .failure: // Request Failed } }
Oui mais je veux savoir quelle erreur est lancée pour que je puisse les montrer à l'utilisateur. Je construis mon propre API
Vous pouvez vérifier que le code de réponse est compris entre 200-299 inclus. Cela vous dira que la demande a été réussie. Tout autre code est, échec. P>
Si vous souhaitez afficher des erreurs spécifiques, utilisez des codes de réponse. Ceci est une liste de standard Codes de réponse . Si vous avez le contrôle sur API, tenez-vous à des codes standard. P>
Oui mais je veux savoir quelle erreur est lancée pour que je puisse les montrer à l'utilisateur. Je construis mon propre API
httpResponse = response as! HTTPURLResponse print(httpResponse.statusCode) // this will shown the status code so you can easily get which type of error code is generate if(httpResponse.statusCode == 200) { //Success } else { //Failure } You can check the types of error https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Oui mais je veux savoir quelle erreur est lancée pour que je puisse les montrer à l'utilisateur. Je construis mon propre API
Cela vous aidera en.wikipedia.org/wiki/list_of_http_status_codes
Oui, mais par exemple, si je prends le code 400 qui est une mauvaise demande et 401 qui est non autorisé, je veux suivre chaque cas et les montrer à l'utilisateur. Pour cela, je dois hCeck chaque code de statut disponible ou non?
Vous devez définir l'utilisation de l'API pour un code d'état différent
que veux-tu dire?
Voir le point suivant pour obtenir le code d'état de httpurlreesponse code>, j'espère que cela vous aide.
if let httpResponse = response as? HTTPURLResponse {
print("error \(httpResponse.statusCode)")
if httpResponse.statusCode == 200{
//Success
}else{
//Failed
}
}else {
//Failed
}
Oui mais je veux savoir quelle erreur est lancée pour que je puisse les montrer à l'utilisateur. Je construis mon propre API
Vous n'avez normalement pas besoin de connaître le code d'erreur spécifique, de savoir si la demande a été réussie ou non. Mais je pouvais voir pour un outil de développeur ou quelque chose de similaire que vous voudrez peut-être afficher le code actuel.
Quelque chose comme ça serait bon, il n'est pas vraiment nécessaire de vérifier le cas de tout code de statut possible. p>