Skip to content
Menu
  • Web Design Business
  • Web design Fundalmentals
City Kitty Design

REST+JSON API Design – Best Practices for Developers

Posted on August 10, 2017


REST+JSON API Design – Best Practices for Developers
The Fundamentals of REST API Design: http://bit.ly/2dTRunc
Sign up for Stormpath: http://bit.ly/2dQFhx9
Slides: http://bit.ly/2dQuPVe
Create, Update and HTTP Idempotence: http://bit.ly/2dQuwK7

Presentation to Silicon Valley Java Users Group in August 2012 by Les Hazlewood, CTO of Stormpath (https://www.stormpath.com/) and PMC of Apache Shiro.

Designing a really clean and intuitive REST + JSON API is no small feat. You have to worry about resources, collections of resources, pagination, query parameters, references to other resources, which HTTP Methods to use, HTTP Caching, security, and more! And you have to make sure it lasts and doesn’t break clients as you add features over time. Further, while there are many references on creating REST APIs with XML, there are much fewer references for REST + JSON.

In this presentation, Les Hazlewood – Stormpath CTO and Apache Shiro PMC Chair – will share all of the golden nuggets learned while designing, implementing and supporting JSON-based REST APIs, using examples from a clean real-world REST+JSON API built with Java technologies. He will cover:

— JSON-based data formats in a RESTful API
— References to other JSON-based resources (aka ‘linking’).
— Resource collections and pagination
— How to map (and how not to map) HTTP methods to Resource CRUD
— Resource partial updates
— Supporting HTTP Method Overloading for clients that don’t support HTTP PUT and DELETE
— API versioning strategies
— Meaningful Error responses
— Many-to-many resource relationships
— HTTP Caching and Optimistic concurrency control.
— Authentication and Security

Les Hazlewood is co-founder and CTO of Stormpath and the Apache Shiro PMC Chair. Prior to forming Stormpath, he held senior architectural positions at Bloomberg and Delta Airlines and he was former CTO of a software engineering firm supporting educational and government agencies. Les has been actively involved in Open Source development for more than 10 years, committing or contributing to projects like the Spring Framework, JBoss, and of course Apache Shiro. Les has a BS in Computer Science from Georgia Tech, currently lives in San Mateo, CA and practices Kendo and studies Japanese when he’s not banging out code.

For more information, visit us at http://bit.ly/2dCLaeF

Recent Posts

  • The Ultimate Guide to Choosing the Right Marketing Company in Charlotte
  • Unlocking Growth: How a Marketing Company in Charlotte Can Elevate Your Business
  • Top Marketing Companies in Charlotte: How to Choose the Right One
  • Finding the Right Marketing Company in Charlotte: A Guide for Local Businesses
  • Finding the Best Marketing Company in Charlotte: A Comprehensive Guide

RSS feed: Web Design News Web Design News

  • JavaScript SpeechSynthesis API November 20, 2025
    As the web continues to be the medium for all users, standards bodies need to continue to provide new APIs to enrich user experience and accessibility. One underused API for unsighted users is speechSynthesis, an API to programmatically direct the browser to audibly speak any arbitrary string. The Code You can direct the browser to […]
  • Fix “This video format is not supported” on YouTube TV November 17, 2025
    Setting up a new computer is bliss — no old, unused apps and the machine performs much better than the previous. Unfortunately, you may encounter new problems based on the new hardware. One such issue I encountered with my new MacBook was a “This video format is not supported” message when I went to YouTube […]
  • Easy way to upload, transform and deliver files and images (Sponsored) March 24, 2025
    Managing media is a really difficult task if you try to do all of it yourself, especially if the media comes from other sources. The file can be submitted in any state and size, but what if you need something really specific? You can code it all yourself or you can use an awesome service […]
  • How to Download a YouTube Video or Channel September 4, 2024
    The ability to download media on the internet almost feels like a lost art. When I was in my teens, piracy of mp3s, movies, and just about everything else via torrents and apps like Kazaa, LimeWire, Napster, etc. was in full swing. These days sites use blob URLs and other means to prevent downloads. Luckily […]
  • How to Add a Header to a curl Request August 3, 2024
    curl is one of those great utilities that’s been around seemingly forever and has endless use cases. These days I find myself using curl to batch download files and test APIs. Sometimes my testing leads me to using different HTTP headers in my requests. To add a header to a curl request, use the -H […]
  • Case Insensitive CSS Attribute Selector June 19, 2024
    CSS selectors never cease to amaze me in how powerful they can be in matching complex patterns. Most of that flexibility is in parent/child/sibling relationships, very seldomly in value matching. Consider my surprise when I learned that CSS allows matching attribute values regardless off case! Adding a {space}i to the attribute selector brackets will make […]
  • How to Set Date Time from Mac Command Line June 17, 2024
    Working on a web extension that ships to an app store and isn’t immediately modifiable, like a website, can be difficult. Since you cannot immediately deploy updates, you sometimes need to bake in hardcoded date-based logic. Testing future dates can be difficult if you don’t know how to quickly change the date on your local […]
  • How to Retrieve WiFi Password on Windows May 13, 2024
    Remembering the WiFi password when on a guest network is never easy. Even worse is when it’s no longer posted and someone else is asking you for it. Luckily there’s a built in Windows command to recover the password of a given WiFi network. The Shell Code Open cmd and execute the following command: netsh […]
  • How to Fix: Windows WASD Keys Reversed with Arrow Keys May 2, 2024
    This past weekend I had the opportunity to be what every father wants, if only for a moment: the “cool dad”. My wife was out of town and my youngest son wanted to play PUBG. I caved in, taught him the basic FPS key binds, and he was having a great time. While he was […]
  • HTML popover Attribute April 15, 2024
    Modals have been an important part of websites for two decades. Stacking contents and using fetch to accomplish tasks are a great way to improve UX on both desktop and mobile. Unfortunately most developers don’t know that the HTML and JavaScript specs have implemented a native modal system via the popover attribute — let’s check […]

Related Sites

CatNFTs.io

©2026 City Kitty Design