URL Template

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A URL Template is a way to specify a URL that includes parameters that must be substituted before the URL is resolved. The syntax is usually to enclose the parameter in Braces ({example}). The convention is for a parameter to not be Percent encoded unless it follows a Question Mark (?).


  • http://example.com/people/{firstName}-{lastName}/SSN
  • http://example.com/query?firstName={firstName}&lastName={lastName}

If we were building these urls for Björk with firstName=Björk and lastName=Guðmundsdóttir they would be:

  • http://example.com/people/Björk-Guðmundsdóttir/SSN
  • http://example.com/query?firstName=Bj%c3%b6rk&lastName=Gu%c3%b0mundsd%c3%b3ttir


Java supports URI Template. Refer external links at the bottom

In Python 2.x, if you have the variable name that you want to put into the string url, you can simply do this:

import urllib2

while "{name}" in url:
    if "?" in url and url.find("?") < url.find("{name}"):
        url = url.replace("{name}", urllib2.quote(name), 1)
        url = url.replace("{name}", name, 1)

Note: this will go into an infinite loop if name == "{name}" or other such corner cases.

See also[edit]

External links[edit]