我成功使用RESTKit来访问Web服务。但我有问题将服务器错误(如404,403 ...)映射到RESTKit的标准RKErrorMessage类。比方说,我从我的服务提出了以下JSON响应一个403个状态码在一起:使用RESTKit映射服务器错误
{"errors":{"message":"Some error message"}}
在我的iOS应用程序,我尝试错误的帮助下图:
RKObjectMapping *errorMapping = [RKObjectMapping mappingForClass:[RKErrorMessage class
[errorMapping addPropertyMapping:[RKAttributeMapping
attributeMappingFromKeyPath:@"message" toKeyPath:@"message"]];
statusCodes4xx = RKStatusCodeIndexSetForClass(RKStatusCodeClassClientError);
errorDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:notecardMapping
pathPattern:nil keyPath:@"errors" statusCodes:statusCodes4xx];
但所有我get是从RESTkit发出的错误:
Failed mapping operation: No mappable values found for any of the attributes or relationship mappings
我的错在哪里?例如,它在描述符中只是一个错误的路径?
我认为你想'@“errors.message”'作为你的密钥 – mkral
也不应该是'addAttributeMapping'? – mkral
谢谢你的回答。不幸的是,“errors.message”也不起作用。我的代码与RESTKit网站上描述的解决方案非常相似:[link](https://github.com/RestKit/RestKit)。但是他们不会为他们的例子发布相应的服务器响应。 – Benni