Restkit을 사용하는 iOS 앱이 있습니다. 서버의 대부분의 응답 본문은 XML 형식입니다. 그러나 텍스트/일반 형식으로 "성공"과 같은 응답 만 보낼 수있는 몇 가지 API가 있습니다. 이 API를 호출하면 200 응답을 얻을 수 있지만 restkit은 아래 오류와 같이 Content-Type = application/xml
이 예상되므로 매핑 오류가 발생합니다.Restkit을 사용하여 다중 응답 MIMETypes를 처리하는 방법 0.20
NSLocalizedDescription=Loaded an unprocessable response (200) with content type 'application/xml'} response.body=success
나는 서버에서받은 XML을 해석 RKXMLReaderSerialization
클래스를 사용하고 나는 그것을 등록하는 방법이있다.
[RKMIMETypeSerialization registerClass:[RKXMLReaderSerialization class] forMIMEType:@"application/xml"];
문서에서 여러 MIMEType을 등록 할 수 있지만 어떻게 작성했는지 알 수는 없습니다. 그게 가능하다면 누군가 나에게 그것을 지적 할 수 있습니다. 그렇지 않다면 이것을 처리 할 방법이 있습니까? 실제로 content-type
에 대한 response-header
이 application/xml
의 값을 한 것으로 진술했다 위에
UPDATE/솔루션
북두칠성에서 추가 연구 도움 후 나는 오류를 발견했다. 이 키보드는 response.body
을 application/xml
형식의 본문으로 매핑하려고 시도합니다. response.body
에 "success"라는 단어 만 들어 있으면 응답을 처리 할 수 없습니다. 나는 이것을 내 서버 녀석에게 알려 주면서 끝냈다. 그리고 그는 요청으로 보내진 Accept
헤더에 의해 선언 된 MIMEType으로 포맷 된 응답을 수정했다.
감사합니다. Wain, 저는 현재'setAcceptHeaderWithMIMEType :'을 사용하고 있습니다. 어젯밤에 요청에 대한 "수락"헤더를 설정하는 데 사용되었다고 가정했기 때문에이를 조사하지 못했습니다. 나는 오늘 밤 그것을 들여다 볼 것이다. 우연히 둘 이상의 설정 방법을 알고 있습니까? I.E. 이'setAcceptHeaderWithMIMEType : someMIMEType, someOtherMIMEType'과 같은 것이거나'setAcceptHeaderWithMIMEType : someMIMEType' 새로운 줄의 코드'setAcceptHeaderWithMIMEType : someOtherMIMEType'이 필요합니까? – Ben
요청 수락 헤더에 사용됩니다. 이 요청에 대해 어떤 응답 유형을 사용할 수 있습니까? 나는 그것이 부가 적이라고 믿습니다. 응답 타입이 호출 될 때마다, 받아 들일 수있는 옵션 목록에 추가됩니다. – Wain
그럴 경우 내 서버 담당자와 이야기해야 할 수도 있습니다. accept 헤더를 이미 application/xml으로 보내고 있습니다. 나는 오늘 밤 이것을 계속 연구 할 것입니다. – Ben