RestKit学习笔记

Posted by zfx5130 on April 5, 2016

RestFul定义

REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。
RestFul是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

RestKit

RestKit是一款专为iOS设计的Objective-C框架,旨在与RESTful web服务的交互变得更简单快速。它基于强大的对象映射系统,并且结合了一个干净、简单的HTTP请求/响应API,大大减少了完成任务所需的代码量。

RestKit特性

  • .简单高层次的HTTP请求/响应系统:RestKit在NSURLConnection的基础上建立了HTTP客户端,并且提供了一个有效方法库来检测MIME类型和状态码。同时让提交表单数据变得更简单,且一个本地参数对象还能够轻松地创建多部分提交。
  • .框架支持切换服务器以及环境:RestKit使用基本的URL和资源路径,而不是完整的URL,让你可以快速地切换目标服务器。让插值URL字符串和构建NSURL对象成为了过去式。
  • .Core Data支持:以对象映射层为基础,RestKit提供了与Apple的Core Data集成框架,用来扩展远程资源映射到本地的对象。还提供一个很好地基于Core Data原语的API,用来简化配置和查询用例。
  • .对象映射系统:RestKit提供了一个建模层,有利于将映射进程数据负载到原生Cocoa对象声明方式中去。这样,程序员就不用担心解析的问题,只需简单的请求框架,异步获取远程资源以及调用委托结果即可。对象映射使用的是键值编码来实现的,允许快速遍历解析后的对象图。反射是用在属性类型上,以便将远程日期编码映射为字符串返回到NSDate对象。
  • .生成数据库文件:当使用Core Data对象存储时,你可以从数据文件集合中生成一个数据库文件。这样,你就可以将你的应用以及数据库的应用程序包提交到App Store中,并且可以达到立即使用的效果。
  • .可插入解析层:RestKit目前通过SBJSON和YAJL解析器支持JSON。解析是在一个简单接口背后实现的,允许额外的数据格式进行透明处理。