Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
FUNDAMENTALS
A Beginner’s Guide
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
API A software intermediary that allows two
applications to talk to each other. APIs are
an accessible way to extract and share data
Application Programming within and across organizations.
Interface
API is a collection of communication protocols and
subroutines used by various programs to
communicate between them.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
API acts as an
interface between different
applications.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
REST API REST is an architectural style for
networked applications that uses HTTP
requests to access and manipulate data.
Representational State
Transfer
It’s an architectural style to
develop web applications
It uses Hyper Text
Trasnsfer Protocol as
communication interface
It transfers data through
HTTP methods
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
GET / POST /
PUT / DELETE
Diagram
REST API Example
JSON / XML
Client REST API DB
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Request Anatomy
REST API Request
URL
Uniform Resource It is the address to identify a
Locator
resource and specify how to
access it
In an API, the URL can be named as Base
URL, which means that is the base address
used in every request
Example: http://sefism.vercel.app
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Request Anatomy
Every URL is a URI, but not
every URI is also a URL
REST API Request
URI It is used in URL to specify
Uniform Resource
whichce and sp the client would
Identifier
like to access in a request
Example: http://sefism.vercel.app/emails?
community=slack
URI highlighted
in white
Here, the client actually
communicates to the server that
the request is to retrieve emails
with community equals to slack
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Only used in requests that must
Body Params send information such as create
or delete
Request Body Params
Body of the request which contains all the
data that the server needs to successfully
process the request
Request Example
{
“email”:”[email protected]
”
“community”:”sefism”
“isJoined”:”true”
}
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Parameters There are two types of
parameters, Query & Path.
Request Parameters
Information that can be sent in a request by
the client in order to get the response from
the server
Example: http://sefism.vercel.app/emails?community=slack
Example: http://sefism.vercel.app/helpful-resources/beginner/interviewtips
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
community=slack is a query
Query Parameters paramter (variable) which retrieves
emails for slack community
Request Parameters
Type
A variable in URI path that helps in
querying / filtering through a list of
resources.
Example: http://sefism.vercel.app/emails?community=slack
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
beginner is the path parameter
Path Parameters (variable) which points to
interviewtips of beginner levels
Request Parameters
Type
A variable in URI path that helps in
pointing towards specific resource.
Example: http://sefism.vercel.app/helpful-resources/beginner/interviewtips
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Headers Used to send extra data, specifying
proper format and data to retrieve
Request Headers
Body of the request which contains all the
data that the server needs to successfully
process the request
Request Header
Authorization: Bearer token
Accept: Application/json
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
REST Methods Others REST API Methods are
HEAD, TRACE, CONNECT and
OPTIONS
REST API Methods
GET
POST
Retrieve information about
an API resource. Create an API resource.
PUT
PATCH Update an API resource.
Modifies an API resource.
DELETE
Deletes an API resource.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
With every request made to
HTTP Status Codes the server, we get http status
/ response codes in return
Response/Status Codes
1XX : Information
2XX : Success
3XX : Redirection
4XX : Client Error
5XX : Server Error
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Why REST APIs
Advantages of RESTful
APIs
Simplicity and
Clarity
RESTful APIs follow a straightforward architectural style based
on familiar web concepts like HTTP methods (GET, POST, PUT,
DELETE) and resource representations (JSON, XML). This makes
them intuitive to learn and use for developers of all skill levels.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Why REST APIs
Advantages of RESTful
APIs
Flexibility and
Scalability
RESTful APIs can be adapted to a wide range of applications, from
simple web services to complex enterprise systems. They can also
be easily scaled to handle increasing traffic and data volumes as
your needs grow.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Why REST APIs
Advantages of RESTful
APIs
Interoperability and
Openness
RESTful APIs are based on open standards and widely used
protocols, making them compatible with diverse software and
hardware platforms. This fosters collaboration and simplifies
integration with existing systems.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Why REST APIs
Advantages of RESTful
APIs
Maintainability and
Reliability
The clear separation of concerns in RESTful APIs (client, server,
resources) promotes modularity and code reusability. This leads to
improved maintainability and reduced development costs in the
long run.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
REST API Usage
Things to consider before
RESTful APIs
Real-time communication: Not ideal for
applications requiring continuous data updates
like chat or streaming, consider WebSockets
or event-driven messaging.
Complex workflows: Intricate operations
requiring multiple chained requests might be
less efficient than custom protocols.
Simple data access: Need to expose simple
data for use by other applications, especially
Highly secure environments: If security is
web and mobile clients.
paramount, custom protocols with stronger
authentication and authorization might be
Integration with existing systems: Easy to
preferred.
integrate with existing platforms due to
familiar HTTP and JSON/XML format.
Resource-intensive tasks: Transferring large
files or data streams may be more efficient
Scalability and flexibility: Can handle various
with specialized protocols like FTP or
applications and scale with increasing traffic
WebDAV.
and data volumes.
Open standards and interoperability: Promotes
collaboration and simplifies integration with
diverse software and hardware.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
API Architectures
Other available API
Architectural Styles Declarative data fetching with
GraphQL precise control, ideal for
complex data structures
High-performance remote
procedure calls optimized for gRPC
microservices communication.
Loosely coupled, real-time data
Event-Driven exchange through event streams
and messaging.
Mature, XML-based protocol
emphasizing security and Soap
interoperability.
Continuous bi-directional
Web Sockets communication between client
and server.
Helping Professionals Excel Tauseef Fayyaz
@tauseeffayyaz
in their Careers!
@sefism
Like and Share FOLLOW FOR MORE HELPFUL
RESOURCES
Like and Share with your
Network
THANK
Join our slack
community for more
helpful resources:
sefism.slack.com
YOU