Understanding REST APIs in 5 Simple Steps
-
Upload
tessa-mero -
Category
Technology
-
view
40 -
download
4
Transcript of Understanding REST APIs in 5 Simple Steps
ParisJS Meetup December 3rd, 2016
Follow me on Twitter and/or tweet at me. @tessamero
By Tessa Mero
Understanding REST APIs in 5 Simple Steps
2© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
REST != $this
3© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
“It’s a way for two pieces of software to talk to each other”
Application Programming Interface
4© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
STEP 1: Understanding the Purpose of APIs
5© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Why are APIs so Important?
6© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
API Growth from 2000 to 2016
2000 2005 2007 2009 2011 2013 2015 20160
5000
10000
15000
20000
25000
30000
35000API's
API's
Source: 2016 data from nordicapis.com. 2005-2015 data from rubenverborgh.github.io and 2000-2004 data from blog.cutter.com
7© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
An API is like …
An API (Application Programming Interface) is best thought of as a contract provided by one piece of computer software to another.
8© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
APIs help developers create apps that benefit the end user.
Yelp asks for Map Data
Google Maps returns map data
via API
Users sees list of
restaurants close to
them
9© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
STEP 2: Learn what REST is
10© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
A REST API defines a set of functions which developers can perform requests and receive responses via HTTP protocol such as GET and POST.
11© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
REST is best explained as a way to talk to other machines through the server with an HTTP Protocol
Using Verbs (actions) and Nouns (items)
12© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
STEP 3: Know What Request and Responses are
13© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
13
View a Web Page
Presentation ID
14© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
14
View a Web Page
Presentation ID
Request GET /index.htm HTTP/1.1
ResponseHTTP 200 OK
<html>
15© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
REST APIs use Request and Response too
16© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
16
Get Data using an API (Spark)
Presentation ID
17© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
17
Get Data using an API – Response!
Presentation ID
Request GET /rooms
ResponseHTTP 200 OK
{json data}
API Consumer API Provider
18© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
List of Verbs!
19© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
STEP 4: Documentation is Your Dictionary
20© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
API Reference for Rooms (Verbs and Nouns)
21© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Request Parameters for “MESSAGES”
22© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
STEP 5: Learn How to Use Debug/Test Tools for APIs
23© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Tools to Debug/Test http://tiny.cc/60tools
• Webhook Debugging (RequestBin formerly requestbin.org…)• Webhook Utilities (Torpio…)• Local Tunneling (ngrok...)• API Monitoring (Runscope...)• Response Mocking (mocky.io...) • JSON Utilities (JSONFormat...)• OAUTH Utilities (oauth.io...)• API Directories (APIS.io, ProgrammableWeb...)• API Testing (Runscope Radar...)• Load Testing (loader.io...)• GUI HTTP Clients (POSTMAN...)
24© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
POSTMAN!!!!!
25© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
25
method
url
requestheaders
status code
response headers
content-type
responsebody
query parameters
26© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
26
Add JSON to the Body in POSTMAN
27© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Summary:
1. You Understand the Purpose2. You Know what REST is3. Request & Response – Makes sense4. Documentation – Live by it.5. Debugging&Test Tools – Prevent headaches
28© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
OUI!!!!!!!!
29© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Thank You
http://www.slideshare.net/Tessa99