이 짤에서 볼 수 있듯, 대부분의 HTTP 에러 코드들을 400번대, 성공은 200번대를 많이 사용한다.
위키피디아 참고
그래서 Alamofire를 사용하면, 대부분 따로 설정하지 않아도 Alamofire가 200~299번대를 성공으로 간주하여 성공과 실패를 나누게 되는데, 이상한 백엔드 개발자를 만나면 400번대의 코드를 성공으로 처리해야 할 때가 있는데,
Alamofire의 request중간에
AF.request("https://example.com/api/data")
.validate(statusCode: 400..<500) // <- 성공 상태 코드 기준 설정
.response { response in
// 처리 코드
}
이 문구를 추가해주면 400번대를 성공이라고 하는 이상한 백엔드 개발자를 만나도 정상적으로 처리할 수 있게 된다.