Alamofire: рд╕реНрдерд┐рддрд┐ рдХреЛрдб: 404, рд▓реЗрдХрд┐рди response.result = SUCCESS

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЕрдХреНрддреВре░ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Alamofire/Alamofire

1

response serializer support

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рдорд╛рдиреНрдп рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ 404 рдЖрдкрдХреЛ .Success рдорд╛рдорд▓рд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред responseData рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереА (рдЬреЛ рддрдм рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рдорд╛рдиреНрдп рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдпрд╛ рдбреЗрдЯрд╛ рдореМрдЬреВрдж рд╣реИред

public static func dataResponseSerializer() -> ResponseSerializer<NSData, NSError> {
    return ResponseSerializer { _, _, data, error in
        guard error == nil else { return .Failure(error!) }

        guard let validData = data where validData.length > 0 else {
            let failureReason = "Data could not be serialized. Input data was nil or zero length."
            let error = Error.errorWithCode(.DataSerializationFailed, failureReason: failureReason)
            return .Failure(error)
        }

        return .Success(validData)
    }
}

рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ 404 рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛ рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХрд╛ responseData рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ 404 рд╣рдореЗрд╢рд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреЗрдЧрд╛, рддреЛ рдЖрдкрдХреЛ $ responseData рд╕реАрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝рд░ рд╕реЗ рдкрд╣рд▓реЗ .validate(statusCode: [200]) рдкрджреНрдзрддрд┐ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред README рдХреЗ тАЛтАЛрд╕рддреНрдпрд╛рдкрди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП alamofire рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реИрдВред рд╣рдо рдмрдЧ рдФрд░ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ


рд╣рдорд╛рд░реЗ рдпреЛрдЧрджрд╛рди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ

рд╕рд╡рд╛рд▓ рдкреВрдЫ рд░рд╣реА рд╣реИ

рд╣рдо рдПрдХ рд╕рдорд░реНрдерди рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ GitHub рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реНрд╡рдпрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдкреВрдЫреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ, рдЖрдк рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЙрд╕реА рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗред рдпрд╣ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рдорд╛рдиреНрдп рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ 404 рдЖрдкрдХреЛ .Success рдорд╛рдорд▓рд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред responseData рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереА (рдЬреЛ рддрдм рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рдорд╛рдиреНрдп рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдпрд╛ рдбреЗрдЯрд╛ рдореМрдЬреВрдж рд╣реИред

public static func dataResponseSerializer() -> ResponseSerializer<NSData, NSError> {
    return ResponseSerializer { _, _, data, error in
        guard error == nil else { return .Failure(error!) }

        guard let validData = data where validData.length > 0 else {
            let failureReason = "Data could not be serialized. Input data was nil or zero length."
            let error = Error.errorWithCode(.DataSerializationFailed, failureReason: failureReason)
            return .Failure(error)
        }

        return .Success(validData)
    }
}

рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ 404 рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛ рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХрд╛ responseData рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ 404 рд╣рдореЗрд╢рд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреЗрдЧрд╛, рддреЛ рдЖрдкрдХреЛ $ responseData рд╕реАрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝рд░ рд╕реЗ рдкрд╣рд▓реЗ .validate(statusCode: [200]) рдкрджреНрдзрддрд┐ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред README рдХреЗ тАЛтАЛрд╕рддреНрдпрд╛рдкрди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП alamofire рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реИрдВред рд╣рдо рдмрдЧ рдФрд░ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ


рд╣рдорд╛рд░реЗ рдпреЛрдЧрджрд╛рди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ

рд╕рд╡рд╛рд▓ рдкреВрдЫ рд░рд╣реА рд╣реИ

рд╣рдо рдПрдХ рд╕рдорд░реНрдерди рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ GitHub рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реНрд╡рдпрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдкреВрдЫреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ, рдЖрдк рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЙрд╕реА рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗред рдпрд╣ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рд╕рдЪрдореБрдЪ рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдБ

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЬреВрдЭ рд░рд╣рд╛ рд╣реВрдВ... рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

noear picture noear  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lvandal picture lvandal  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

solomon23 picture solomon23  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DrAma999 picture DrAma999  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sarbogast picture sarbogast  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ