Handle Parameters

This guide shows you how to extract and work with request parameters.

Route Parameters

Define route parameters with a colon prefix:

get "/users/:id"

def call
  id = params["id"]  # String
  id.to_i64          # Convert to Int64
end

Multiple Route Parameters

get "/users/:user_id/posts/:post_id"

def call
  user_id = params["user_id"].to_i64
  post_id = params["post_id"].to_i64
end

Query Parameters

Access query string parameters:

Request Body (JSON)

Use request contracts to parse JSON bodies:

Form Data

Handle form submissions:

File Uploads

Handle multipart file uploads:

Headers

Access request headers:

Type Conversion

Convert string parameters to types:

Default Values

Provide defaults for optional parameters:

See Also

Last updated

Was this helpful?