What is a REST API? | CRUD APIs| REST vs HTTP | System Design Tutorials | Part 10 | 2020

preview_player
Показать описание
This is the tenth video in the series of System Design Primer Course. We talk about one more important component of System Design: REST APIs. We want software engineers and aspiring software engineers to develop basics and get ready for the world of interviews as well as excelling as a Software Engineer.
Useful Links:

------------------------------------------------------------------
Recommendations
------------------------------------------------------------------
Our full courses on youtube:

Some paid courses that we recommend:

------------------------------------------------------------------
About Us
------------------------------------------------------------------
Created and Instructed by:
Yogita Sharma

Post-production(editing, thumbnail etc) managed by:
CiKi

Colors and design by:
Naini Todi

Both Arpit and Yogita are software engineers and want to help other software engineers become better by providing high quality and well researched content by adding their creativity and teaching twist.

------------------------------------------------------------------
Join Us
------------------------------------------------------------------
Hangout with sudoCode:

For business:

------------------------------------------------------------------------------------------------------------------------------------
Timestamps:
0:00 - Intro
0:38 - Intro to the lecture
1:05 - What is REST ?
2:59 - Guidelines of REST
6:43 - Example of REST API
14:50 - State transfer vs Stateless
16:17 - Path vs query parameters
18:55 - HTTP Response (Status Codes)
21:17 - Security, Authorization and Error Handling
Рекомендации по теме
Комментарии
Автор

need more of this stuff, I am trying to learn system design from so many sources including Gaurav Sen and Tech Dummies and some github repo's. This is by far the best explanation out there :) Please don't stop uploading more like designing systems from scratch.

valerysalov
Автор

To perform a PUT operation on a resource we need to give the entire data along with changes, while in PATCH payload containing the updated values will be enough.
It would have been good if you have added this point

balabhaskar
Автор

I have never seen like you explain such terrific topic of Rest api with clean and understandable manner thank you a lot

hakieye
Автор

Such an underrated channel. Very few people are there who have such deep knowledge of such important topics of software development.
Thanks a lot ma'am.

Gamer_with_knowledge
Автор

This playlist is invaluable!
Best playlist on System Design in Youtube!
Thanks for being so thorough and clear explanation! You are a great teacher!

Manojshankaraj
Автор

Learning this for my System Design interview! Thank you for explaining this clearly!

RayChiu
Автор

Finally I understood this concept in a clear and concise way!! Keep going :)

dataman
Автор

Have been looking for this kind of an explanatory video since long! Can't thank you enough for such an incredible content! More power to you!

shubhashrichavan
Автор

Of course your videos are hidden gems on system design and software engineering. Couldn't help notice the remarkable similarities between Shreya Ghoshal and your face. Have you been told this before or is it just me?

bad_uncle
Автор

Great explanation, but please use markers which are dark (this one seems to have run out of ink), you see while viewing it on mobile you have to really increase the brightness to a much greater extent just to see what you are writing. Also consider using different color markers, it adds to readability and makes it more fun.
Great video, cheers

unfiltered_with_yogi
Автор

Finally I understood REST, Thank you so much!

gautamhelange
Автор

The explanation and concept coverage is so good that I paused the video in between to comment and appreciate. Please keep up the good work! Resuming my video again now :D

arjungupta
Автор

Thank you for your dedication and efforts to make concepts simple, interesting and relatable. You teaching style is amazing. Please keep up the great work you are doing.

investmentforum
Автор

Hi, I would like to put some possible correction. Its my opinion, as I learned in organization. Being a stateless api does not mean treating all requests as same, or treating all clients as same. Rather, when we say api is stateless, it means it does not carry/bear/retain any state after serving a request. So, when different clients make same query, results will be consistent rather same (only will differ when data got modified in time between requests). But important is any request should not leave server into any state which would potentially affect following requests.

For an example... lets suppose, the server does a job of adding two numbers. Now when suppose first request come, to add 99 + 1.
And to do this, carry 1 will be generated and stored while computation. Now, server returns response 100, as expected. And here comes the part now,
If server would have retained same carry 1, and did not reset it to 0, we should say, server ran into a new state. (Because before serving request, carry was 0, and after serving, now carry is 1.) This is called retaining a state.. So response for following requests might be inconsistent, might be wrong as well.
If after responding the request, if carry would have been reset to 1, then we could say, server is now being in same state. Or, we can say api is stateless, as it did not make server to get into a new state.

For this example, for sure one can say, implementing such api to carry state, is wrong. And which is even. But in corporate, sometimes to meet business needs, sometimes api are not written in stateless manner. But yeah, for sure, and ideally, a good developer always should tent to have api, being stateless.

rishikeshpawar
Автор

I'm amazed at your teaching skills. So great!

barbaracalderon
Автор

This is the video i was looking for, which has everything covered from basic, keep up the good work!!

hamsaganesh
Автор

Very informative, concrete info both theoretical and practical, to the point. Thanks a lot.

nidopapa
Автор

Mam nice teaching...I am joined as a backend developer node js..I am struggle to understand about server errors ..put separate video about types of server errors ...

Mohamed_developer_
Автор

Amazing video! Perfect! Thank you so much. I learned a lot.

offgridvince
Автор

Very good explanation in simple terms. Kudos!!! . Thanks a lot

vishalathawale