Inherits from NSObject
Declared in RKRoute.h

Overview

The RKRoute class models a single routable path pattern in use by the application. A route can be combined with an NSURL base URL and interpolated with an object to produce a new fully hydrated URL object. Routes are always instantiated with a path pattern and metadata to provide for the subsequent identification of the defined route.

There are three types of routes modeled by the RKRoute class:

  1. Named Routes: A named route represents a single path and optional request method within the application. The route is not affiliated with any particular class. For example, one might define a route with the name @"airlines_list" as a GET to the path ‘/airlines.json’.
  2. Class Routes: An class route represents a single path that is identified by object class and request method for which it is appropriate. For example, one might define a route for the class RKArticle for a POST to the path ‘/articles.json’.
  3. Relationship Routes: A relationship route represents a single path through which the relationship of a parent object can be manipulated. For example, given an RKArticle and RKComment class, one might define a relationship route for the RKArticle class’s @"comments" relationship as pointing to a GET to the path `@“/articles/:articleID/comments”.

The RKRoute class is internally implemented as a class cluster and is not to be directly instantiated via alloc and init.

Tasks

Instantiating Routes

Accessing Route Attributes

Inspecting Route Types

Properties

classRoute

@property (nonatomic, getter=isClassRoute, readonly) BOOL classRoute
Discussion

Determines if the receiver is a class route.

Return Value

YES if the receiver is a class route, else NO.

Declared In

RKRoute.h

method

@property (nonatomic, assign, readonly) RKRequestMethod method
Discussion

The request method of the receiver.

Appropriate for all route types. If the route is appropriate for any HTTP request method, then the RKRequestMethodAny value is used.

Declared In

RKRoute.h

name

@property (nonatomic, strong, readonly) NSString *name
Discussion

The name of the receiver.

The name is used to identify named and relationship routes and is always nil for object routes.

Declared In

RKRoute.h

namedRoute

@property (nonatomic, getter=isNamedRoute, readonly) BOOL namedRoute
Discussion

Determines if the receiver is a named route.

Return Value

YES if the receiver is a named route, else NO.

Declared In

RKRoute.h

objectClass

@property (nonatomic, strong, readonly) Class objectClass
Discussion

The object class of the receiver.

Defines the class for which the route is appropriate. Always returns nil for named routes.

Declared In

RKRoute.h

pathPattern

@property (nonatomic, strong, readonly) NSString *pathPattern
Discussion

The path pattern of the receiver.

A SOCKit pattern that describes the format of the path portion of URL’s generated from the receiver. Required and used by all route types.

Declared In

RKRoute.h

relationshipRoute

@property (nonatomic, getter=isRelationshipRoute, readonly) BOOL relationshipRoute
Discussion

Determines if the receiver is a relationship route.

Return Value

YES if the receiver is a relationship route, else NO.

Declared In

RKRoute.h

shouldEscapePath

@property (nonatomic, assign) BOOL shouldEscapePath
Discussion

A Boolean value that determines if the path pattern should be escaped when evaluated.

Default: NO

Declared In

RKRoute.h

Class Methods

routeWithClass:pathPattern:method:

+ (instancetype)routeWithClass:(Class)objectClass pathPattern:(NSString *)pathPattern method:(RKRequestMethod)method
Discussion

Creates and returns a new class route object with the given object class, path pattern and method.

Parameters

objectClass

The class that is represented by the route.

pathPattern

A SOCKit pattern describing the format of URL paths generated from the route.

method

The request method of the route. More than one method may be specified via a bitwise OR.

Return Value

A new class route object with the given object class, path pattern and request method.

Declared In

RKRoute.h

routeWithName:pathPattern:method:

+ (instancetype)routeWithName:(NSString *)name pathPattern:(NSString *)pathPattern method:(RKRequestMethod)method
Discussion

Creates and returns a new named route object with the given name, path pattern and method.

Parameters

name

A unique identifying name for the route.

pathPattern

A SOCKit pattern describing the format of URL paths generated from the route.

method

The request method of the route. The method given must specify a single HTTP method to be used for requests using the route.

Return Value

A new named route object with the given name, path pattern and request method. @raise NSInvalidArgumentException Raised if the given HTTP request method is not an exact match of the RKRequestMethod enum

Declared In

RKRoute.h

routeWithRelationshipName:objectClass:pathPattern:method:

+ (instancetype)routeWithRelationshipName:(NSString *)name objectClass:(Class)objectClass pathPattern:(NSString *)pathPattern method:(RKRequestMethod)method
Discussion

Creates and returns a new relationship route object with the given relationship name, object class, path pattern and method.

Parameters

name

The name of the relationship represented by the route.

objectClass

The class containing the relationship represented by the route.

pathPattern

A SOCKit pattern describing the format of URL paths generated from the route.

method

The request method of the route. More than one method may be specified via a bitwise OR.

Return Value

A new class route object with the given object class, path pattern and request method.

Declared In

RKRoute.h