Passenger 1.0.1

Passenger 1.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2015年7月
SPM支持SPM

kellan cummings维护。



Passenger 1.0.1

  • Kellan Cummings

Passenger

使用方法

要运行示例项目,请克隆仓库,然后从Example目录中首先运行pod install

安装

Passenger通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile即可

pod "Passenger"

设置

Passenger是一个Swift API映射器,它将编写JSON解析方法和HTTP请求的痛苦从构建支持API的应用程序中抽离出来。相反,Passenger定义了ModelEntity类,这使得可以像ORM与数据库一样消费JSON API。

要创建新的API,请在pods的bin文件夹中运行实用程序passenger以自动生成两个新的plist模板

  • api.plist
  • endpoints.plist

将它们添加到项目中,并添加API配置和端点以开始使用Passenger。

API

在名为‘api.plist’或当您使用具有不同命名空间的多个API时为’.api.plist’的文件中设置API设置。

  • namespace:您应用的命名空间
  • version:您所访问的API版本,用于构成路径的版本部分
  • consumer_key:由认证API提供的个人消费密钥
  • authorization:授权凭证的字典

    • OAuth1

      • consumer_secret:由认证API提供的消费者密钥
      • signature_method:当前仅支持HMAC-SHA1
      • request_token_url:由认证API提供的请求令牌URL
      • access_token_url:由认证API提供的访问令牌URL
      • request_token_callback:您的应用的个人回调URL;这可以在“ Targets > [Your_Project] > Info > URL Types”中设置;例如,如果您创建了一个具有标识符'com.fkcomp.passenger’和URL方案'passenger’的新URL,您会在这里写'passenger://com.fkcomp.passenger’。
      • authorize_url:由认证API提供的授权URL

    • BasicAuth

      • personal_key:由认证API提供的个人密钥

  • options:具有布尔值的选项字典

    • use_file_extensions:设置为YES以使用内容类型扩展来标识您的路径;例如,路径'posts/:id/comments’将作为'posts/:id/comments.json’处理
    • use_accept_headers: 将其设置为YES以使用期望的类型设置Http Accept头
    • show_version_in_path: 将其设置为YES将版本包含在API路径中

  • url: 基础API URL

端点

在名为‘endpoints.plist’的文件中设置您的端点设置,或者如果您使用多个具有不同命名空间的API,则使用’.endpoints.plist’。

  • : 一个Model

    • path: 路由的相对路径
    • routes: 路由的字典

      • : 一个Model类方法:内置路由包括列表、创建、显示、查找、销毁、保存、上传

        • path: 路由的相对路径
        • method: HTTP方法,默认为GET
        • node: 相对的JSON节点;如果端点名称与JSON节点不匹配,则需要设置;例如,对于“ProjectStatus”端点,Passenger期望使用根JSON节点,或者如果发现节点“project_status”/“project_statuses”(如果您正在获取数组)
        • auth: 授权方法;目前支持的授权方法只有OAuth1和BasicAuth

    • endpoints: 端点的字典

要在端点路径中设置路径变量,请使用以下表示法

  • 对于端点“posts”,给定“posts/:id”,“:id”将被替换为Post的“id”属性
  • 对于端点“users/:user.name/posts/:id”,给定作为“users”子级的“posts”端点,“:user.name”将被替换为User的“name”属性,而“:id”将被替换为Post的“id”属性

以下路由虽然具有由基础Model类定义的特征行为,但必须仍定义在endpoints.plist中,用于所有可访问端点

  • list: GET
  • find: GET
  • 搜索: GET
  • 显示: GET
  • save: PUT
  • 创建: POST
  • 销毁: DELETE
  • 上传: POST

关于

Passenger目前正在寻找有兴趣扩展API支持和普遍改进代码库的协作者。

作者

Kellan Cummings, [email protected]

许可证

Passenger可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。