URI Design - theodi/open-orgn-services GitHub Wiki

Naming Principles in URLs

  • hyphenated rather than underscores
  • use schema.org naming (translation files for user interface)
  • plural types in URLs
  • no actions in URLs
  • search, take a look at http://www.opensearch.org/Home

Examples

http://directory.theodi.org/ as root domain

  • /members = list of members (alphabetical)
  • /members?page={page} = members whose organisation name starts with that letter
  • /members/{membershipId} = page about that member
  • different view if you are logged in as the member who can edit this entry
  • content negotiation with Content-Location header
  • /members/{membershipId}.json = provides JSON format
  • /members/{membershipId}.html = provides HTML format
  • /members/new = redirects to /join-us
  • /members/new?level={membershipLevel} = register to become a member at another level
  • /sessions/new = form to login (membershipId & password)
  • DELETE /session = forget who I am