URI Template: Difference between revisions
Appearance
Content deleted Content added
Line 12: | Line 12: | ||
==Code== |
==Code== |
||
Java supports URI Template. Refer external links at the bottom |
|||
In [[Python (programming language)|Python]] 2.x, if you have the variable <code>name</code> that you want to put into the string <code>url</code>, you can simply do this: |
In [[Python (programming language)|Python]] 2.x, if you have the variable <code>name</code> that you want to put into the string <code>url</code>, you can simply do this: |
Revision as of 06:55, 3 March 2017
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 (?).
Examples
- 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
Code
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)
else:
url = url.replace("{name}", name, 1)
Note: this will go into an infinite loop if name == "{name}"
or other such corner cases.
See also
- European Legislation Identifier (URL template is used by ELI)