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

method

The request method of the receiver.

@property (nonatomic, assign, readonly) RKRequestMethod method

Discussion

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

The name of the receiver.

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

Discussion

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

Declared In

RKRoute.h

objectClass

The object class of the receiver.

@property (nonatomic, strong, readonly) Class objectClass

Discussion

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

Declared In

RKRoute.h

pathPattern

The path pattern of the receiver.

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

Discussion

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

shouldEscapePath

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

@property (nonatomic, assign) BOOL shouldEscapePath

Discussion

Default: NO

Declared In

RKRoute.h

Class Methods

routeWithClass:pathPattern:method:

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

+ (instancetype)routeWithClass:(Class)objectClass pathPattern:(NSString *)pathPattern method:(RKRequestMethod)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.

Return Value

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

Declared In

RKRoute.h

routeWithName:pathPattern:method:

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

+ (instancetype)routeWithName:(NSString *)name pathPattern:(NSString *)pathPattern method:(RKRequestMethod)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.

Return Value

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

Declared In

RKRoute.h

routeWithRelationshipName:objectClass:pathPattern:method:

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

+ (instancetype)routeWithRelationshipName:(NSString *)name objectClass:(Class)objectClass pathPattern:(NSString *)pathPattern method:(RKRequestMethod)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.

Return Value

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

Declared In

RKRoute.h

Instance Methods

isClassRoute

Determines if the receiver is a class route.

- (BOOL)isClassRoute

Return Value

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

Declared In

RKRoute.h

isNamedRoute

Determines if the receiver is a named route.

- (BOOL)isNamedRoute

Return Value

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

Declared In

RKRoute.h

isRelationshipRoute

Determines if the receiver is a relationship route.

- (BOOL)isRelationshipRoute

Return Value

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

Declared In

RKRoute.h