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

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ • 134

  • @valerysalov8208
    @valerysalov8208 3 роки тому +46

    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.

    • @sudocode
      @sudocode  3 роки тому +7

      Thanks for the appreciation Valery. It motivates us to do even better in the future. Keep learning and feel free to reach out incase of any feedback/queries 😀

    • @valerysalov8208
      @valerysalov8208 3 роки тому +9

      @@sudocode Can you do a separate series on design patterns it will sky rocket your subscribers.

    • @Gamer_with_knowledge
      @Gamer_with_knowledge 2 роки тому

      @@valerysalov8208 Yes design patterns in java would be great

    • @Premkumar-eq1zv
      @Premkumar-eq1zv 2 роки тому +3

      @@Gamer_with_knowledge design patterns in Javascript would be great

    • @shubhashrichavan7307
      @shubhashrichavan7307 8 місяців тому

      Design pattern Videos please!!!

  • @RayChiu99
    @RayChiu99 День тому

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

  • @Gamer_with_knowledge
    @Gamer_with_knowledge 3 роки тому +3

    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.

    • @sudocode
      @sudocode  3 роки тому +1

      Much appreciated! May be share with a lot of peers and friends to spread the word.

  • @balabhaskar5641
    @balabhaskar5641 3 роки тому +26

    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

  • @hakieye5649
    @hakieye5649 Рік тому

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

  • @rishikeshpawar3230
    @rishikeshpawar3230 Рік тому +1

    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.

    • @sudocode
      @sudocode  Рік тому

      Here we are talking about representational state transfer and not stateful or stateless apis. May be our wires got crossed wrong.

  • @Manojshankaraj
    @Manojshankaraj 3 роки тому +4

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

    • @sudocode
      @sudocode  3 роки тому +1

      I am glad you find it so useful. Do share in your network :)

  • @dataman17
    @dataman17 4 роки тому +11

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

    • @sudocode
      @sudocode  4 роки тому +1

      Thanks Anik.

    • @anantyadav5382
      @anantyadav5382 2 роки тому

      @@sudocode If it's Stateless then how it's cacheable ?
      It's not saving state i.e considering client & server different as they don't know each other then how browser is saving some cacheable details ?

  • @shubhashrichavan7307
    @shubhashrichavan7307 8 місяців тому

    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!

  • @adityaanand4496
    @adityaanand4496 2 роки тому +3

    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

  • @bad_uncle1406
    @bad_uncle1406 2 роки тому +1

    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?

    • @sudocode
      @sudocode  2 роки тому +1

      Haha. Got this one or two times before. Thanks for appreciating the content.

  • @gautamhelange2769
    @gautamhelange2769 2 роки тому

    Finally I understood REST, Thank you so much!

  • @arjungupta250
    @arjungupta250 3 роки тому +2

    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

  • @barbaracalderon4106
    @barbaracalderon4106 Рік тому

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

  • @hamsaganesh7675
    @hamsaganesh7675 3 роки тому +1

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

  • @nidopapa
    @nidopapa 4 місяці тому

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

  • @offgridvince
    @offgridvince 2 роки тому +1

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

  • @investmentforum8340
    @investmentforum8340 3 роки тому +2

    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.

  • @azimmalpekar9072
    @azimmalpekar9072 2 роки тому +1

    Your presentation and coverage in videos is good, specially animations added in videos. Thanks !!!

    • @sudocode
      @sudocode  2 роки тому

      Thanks. Means a lot to our team 😅

  • @ravipandey29
    @ravipandey29 3 роки тому

    Now concept is crystal clear , thanks for this wonderful System Design series.

  • @Mohamed_developer_
    @Mohamed_developer_ Рік тому

    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 ...

  • @S.Saurabh_
    @S.Saurabh_ Рік тому

    Teachers in my college loves you.

  • @vishalathawale183
    @vishalathawale183 8 місяців тому

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

  • @ashwintapsey191
    @ashwintapsey191 3 роки тому

    Thank you Yogita for covering the REST API's in such simple terms. Your examples are very easy to understand.

    • @sudocode
      @sudocode  3 роки тому

      I am glad it was useful.

  • @gawarivivek
    @gawarivivek 3 місяці тому

    Another expectional video, thanks!! :)

  • @Nitesh_Bhagat
    @Nitesh_Bhagat 3 роки тому +1

    please make a video series on AWS. Much needed for Backend developers and system admins

  • @Sanju-vp4lq
    @Sanju-vp4lq 3 роки тому +1

    Great help with ur videos.. amazing tutoring. If I ever had to make a humble suggestion it's only that whiteboard marker.. :)

  • @sciencewalezindabad7506
    @sciencewalezindabad7506 2 роки тому

    please add this video as part of your Rest API series

  • @anilkumar8753
    @anilkumar8753 2 роки тому +1

    I believe, stateless means... current request handled by server does not not depend on earlier requests handled. Each request handled on server is independent (stateless-> no dependency on previous one)

    • @sudocode
      @sudocode  2 роки тому

      Exactly. You got it right 👍

  • @arstanbektemirov9431
    @arstanbektemirov9431 2 роки тому

    Thank you, very clear and easy for understanding

  • @sharadpratap
    @sharadpratap 2 роки тому

    Awesome, very very impressive and clarity to explain technical terms...

  • @hareeshjp
    @hareeshjp 2 роки тому

    Thank you Yogita for making this video and explained very well .. thank you .. Please can you do video on API gate way , eureka server and distributed log management and ELK. Thank you in advance.

  • @imranshaikh115
    @imranshaikh115 3 роки тому +1

    Just Awesome, Keep it up good work Thanks a lot

  • @sharumathi4162
    @sharumathi4162 Рік тому

    Hello sis, you explain it clearly and make understand in ease.

  • @LauraOtermat
    @LauraOtermat 2 роки тому

    Thank you for the videos!
    The path vs. query params section wasn't clear; it sounded like they are synonyms, but they are not.

  • @TheBharad6
    @TheBharad6 2 роки тому +1

    Small correction.
    Offset should be 20, not 21 in the next read request.
    If you offset the query by jumping over the first 20 results, you will naturally get the 21st result at index 0 in your next request. Offset of 21 would jump over the first 21 results, and give you result 22.

  • @pamudithajayasundara1259
    @pamudithajayasundara1259 3 роки тому +1

    i didnt understand what is state clearly.but a very good video.i watch most of the videos.! thank you

    • @ithelightr3020
      @ithelightr3020 3 роки тому

      I agree - this explanation was a bit rushed.

  • @scottscott232
    @scottscott232 2 роки тому

    Very informative video. Thank you.

  • @sabarinathkr7603
    @sabarinathkr7603 Рік тому

    Can you please make video for Asynchronous and Multi threading. What happens to singleton object in case of multithreading and What is the solution for dead lock situation. Really would be helpful if you could make on these topics

  • @deepanshuplaygames
    @deepanshuplaygames 2 роки тому

    Really helpful I love you

  • @VVeiQuek
    @VVeiQuek Рік тому

    Would be great if the video is subtitled. Viewers like me can rewind back easily to recall/check what some acronyms/jargons represents (Like URI for me) if there is subtitle/transcript, or when the writing on the board was not so clear.
    All in all, no means to be ungrateful to your kind sharing. Just a suggestion for some of your videos.

  • @moneeshkumar1838
    @moneeshkumar1838 2 роки тому

    Great Video
    Kindly make a video about GraphQL

  • @subashreddy4993
    @subashreddy4993 4 роки тому +2

    Hi mam,your lectures are good and lot of insightful. I wish to see some practical hands-on, it would be much more clear

    • @sudocode
      @sudocode  4 роки тому

      Thanks Subash. We will try to do hands on session in the future. To get more you can join our slack channel. Link is in the description ☺️

  • @DG-cd3jb
    @DG-cd3jb 2 роки тому

    Hi there. This REST api session helps to understand the API and it’s design. For some integration usecase with AD, we are planning to use a “Cornerstone APIs” to handle a scenarios like create, update and delete user. Can you share your thoughts on designing these APIs? Would really helps.

  • @ankitagupta8511
    @ankitagupta8511 3 роки тому

    Finally understood the concept. 🤩

  • @saiftazir
    @saiftazir 3 роки тому

    Really appreciated these. i was looking for these explanations ... thanks alot

    • @sudocode
      @sudocode  3 роки тому

      Glad it was helpful!

  • @dalskiBo
    @dalskiBo 10 місяців тому

    Another great one, thanks so much.

  • @sivaveeramallu3645
    @sivaveeramallu3645 Рік тому

    thanks a lot Yogitha, good explaination

  • @HisExcellencyAKK
    @HisExcellencyAKK 3 роки тому +2

    Thanks for the excellent tutorial. I have a question regarding request rate limit. In order to apply throttling the server needs to know about the client, does this not violate the stateless principle?

  • @ANANDKUMAR-jk9yp
    @ANANDKUMAR-jk9yp 2 роки тому

    Superb content!!

  • @sukanyapreeti
    @sukanyapreeti 4 роки тому +1

    You have helped me like anything! Keep it up Yogita !

    • @sudocode
      @sudocode  4 роки тому +1

      Thanks Sukanya. Much appreciated 😅

    • @sudocode
      @sudocode  4 роки тому +1

      Thanks 😊

    • @sukanyapreeti
      @sukanyapreeti 4 роки тому +1

      Now waiting for the next one begins!!

  • @UECAshutoshKumar
    @UECAshutoshKumar 2 місяці тому +1

    Thank you

  • @sirnino
    @sirnino Рік тому

    Definitely need a new pen 😂. Other then that I'm really excited to have found this channel and this Playlist. It's definitely a great content!
    Thanks for this

  • @AbhinavSingh-oq7dk
    @AbhinavSingh-oq7dk 3 роки тому

    Ma'am,
    when did the concept of APIs come into existence and for what reason? APIs are basically http methods (GET,POST, etc..), which have been there since their inception. Basically what I am trying to understand is, what was the difference before and after introduction of APIs?
    Do correct, if I am wrong somewhere.

  • @madhavsharma6029
    @madhavsharma6029 4 роки тому +1

    Hi sudocode what i expect with this playlist ..... Full system design ..... ??? I mean my main topics are
    Distributed system
    Scaling
    Cap theorem
    Messaging queus
    Microsevices yes ofcourse SOAP VS REST
    Hope you know wht my expectation ... So is this a right place i visit otherwise please suggest me better .... 🤗🤗 you tubers like you who teach free courses i bet you guide me better for this ...

    • @sudocode
      @sudocode  4 роки тому +1

      Yes Mohit. Covering the main topics of system design is the main goal of teaching this course. We just released a video on REST APIs last week. Also, message queues would be coming on coming Monday 10 am. Moreover you can find a list of the topics to be coveted in the description of this video. 🤟👍

  • @gauravshukla6675
    @gauravshukla6675 3 роки тому

    GOLD content

  • @mailsnagaraju
    @mailsnagaraju 3 роки тому +1

    Active-Active vs. Active-Passive High-Availability Clustering, cloud you a make video on this topics with real-time example Yogita

  • @ashishpandeynyu
    @ashishpandeynyu 2 роки тому

    Thanks for the awesome video!!!
    I have question about REST, how stateless and cacheable can be included at same time because if we are storing data(cacheable) then we should not be stateless and vice versa. Thanks again for such great videos 🙂

  • @shubhamanand8345
    @shubhamanand8345 4 роки тому

    Thanks for the awesome videos!
    I have one question, how we decide when to use query parameters and when to use path parameter while designing APIs?

  • @saikalyan7289
    @saikalyan7289 3 роки тому

    Thanks a lot for the video

  • @sukanyapreeti
    @sukanyapreeti 4 роки тому +3

    @sudoCode While designing API how do we decide which API needs to be of type REST and some other ?

    • @sudocode
      @sudocode  4 роки тому +2

      We decide this on the basis of our use
      case. I suggest you get a basic idea of different types here. medium.com/api-university/architectural-styles-for-apis-soap-rest-and-rpc-9f040aa270fa

  • @shreyaggarwal1361
    @shreyaggarwal1361 Рік тому

    Such a nice video damn

  • @vickyeee4232
    @vickyeee4232 Місяць тому

    Thanks for the video. As rest does not save the state of the client, how does it find out how many times a client fired a request for rate limiting @sudoCode ?

  • @resoluteforce
    @resoluteforce Рік тому

    Would it be possible to do a video on apim policies? Thanks

  • @teemrahb7612
    @teemrahb7612 3 роки тому

    Fabulous !

  • @sujeeshkumarv4336
    @sujeeshkumarv4336 3 роки тому

    Please upload a video on SDK and Load balancer

  • @Userkazt
    @Userkazt 2 роки тому

    We are updating the database, so why are we using the UPDATE HTTP method. Our system updates user data after a form submission through a POST request ?

  • @OthmaneLAHRIMI
    @OthmaneLAHRIMI 28 днів тому

    Thank you 🌹

  • @sreeharsha6383
    @sreeharsha6383 11 місяців тому

    For a system design interview, is distributed systems knowledge also required?
    Please drop your response. Thank you

  • @Amritanjali
    @Amritanjali 3 роки тому

    mam you have recommended us to read an OS three easy pices book can you make chapter wise summary I am not good reader. Thanks in advance soon you will achive 10k

  • @mostaphasaid7250
    @mostaphasaid7250 Рік тому

    thank you very much

  • @manu-singh
    @manu-singh 4 роки тому +1

    so are you planning to upload more courses like this??

    • @sudocode
      @sudocode  4 роки тому

      Yes Manpreet we do have a plan for it. 🤟

  • @vikramshah152
    @vikramshah152 2 роки тому

    I wanted to understand can Api with rate limiting can be called stateless and therefore Rest api since server/application know how many request are fired within any time frame.

  • @Amritanjali
    @Amritanjali 3 роки тому

    just wow

  • @kannavsharma3288
    @kannavsharma3288 2 роки тому +1

    need more info on security stuff

  • @AbuZaynab1
    @AbuZaynab1 2 роки тому

    Great vids! How can we join the Slack Channel?

  • @vishalpatil4864
    @vishalpatil4864 2 роки тому +1

    Great content I think instead using white board u should prefer digital stuff to explain your content.

  • @tarangranpara5913
    @tarangranpara5913 3 роки тому

    I had one question: by authentication and rate-limiting, etc. aren't we storing the state? i.e. if I'm using some API, that API has a limit of 1000 requests per hour. isn't it against the REST guidelines?

  • @anantyadav5382
    @anantyadav5382 2 роки тому

    If it's Stateless then how it's cacheable ?
    It's not saving state i.e considering client & server different as they don't know each other then how browser is saving some cacheable details ?

  • @trijit96
    @trijit96 3 роки тому +1

    Just one thing status code 100 for switching protocol

  • @sajalagrawal1430
    @sajalagrawal1430 4 роки тому

    that is really awesome

    • @sajalagrawal1430
      @sajalagrawal1430 4 роки тому

      also can you give me some examples like you give bookstore , so that i can try to design apis on it.

    • @sudocode
      @sudocode  4 роки тому +1

      Thanks Sajal. Why don't you come up with it. 😉 Give it a try. 😀
      Hint: Think of a case where you can perform CRUD operations on something related to real life.

  • @subee128
    @subee128 4 місяці тому

    Thanks

  • @ankitsolomon
    @ankitsolomon Рік тому

    Pls cover Oauth

  • @DSA_Coding
    @DSA_Coding 3 роки тому

    please try to use more dark marker

  • @alxx736
    @alxx736 2 роки тому

    Rest Api is a kind of web service rigth?

  • @rajchaurasiya1265
    @rajchaurasiya1265 3 роки тому

    If rest API is stateless then how caching is implemented,becaause if server not save state or transaction then how known what to cache

  • @kannavsharma3288
    @kannavsharma3288 2 роки тому

    Are message broker /event broker and jms provider same??

  • @kritgupta5051
    @kritgupta5051 Рік тому

    Isn't rate limiting / throttling against `Statelessness` ?

  • @shiteshchourasia
    @shiteshchourasia 3 роки тому

    Little late to comment. Still I would like to thank you for sharing knowledge.

  • @sachinsehwag9034
    @sachinsehwag9034 3 роки тому

    Please make some videos on kubernetes with spring boot apps

  • @sumitgupta4741
    @sumitgupta4741 3 роки тому

    Same work could done with POST which GET can do. What is the actual difference between them?

    • @sudocode
      @sudocode  3 роки тому

      A video on same coming up soon.

  • @chaitanyaa.salgar5188
    @chaitanyaa.salgar5188 3 роки тому

    What is difference between REST and Restful?

  • @amantandon1360
    @amantandon1360 3 роки тому

    Can you explain Security Authorization Error Handling again that was not clear

  • @BTEEESiddharthSaxena
    @BTEEESiddharthSaxena 2 роки тому

    kindly use a little darker marker

  • @aurangzebhusain8366
    @aurangzebhusain8366 2 роки тому

  • @dvskr1
    @dvskr1 3 роки тому

    HATEOAS also could have covered

  • @AshishDoneriya
    @AshishDoneriya 3 роки тому

    tagline - REST is a guideline not http

  • @AK-fh8tg
    @AK-fh8tg Рік тому

    plZ do practical

  • @harjinderpalsingh9855
    @harjinderpalsingh9855 2 роки тому

    Where is the quiz?

  • @vaneelakhatri
    @vaneelakhatri 2 роки тому

    how to join slack community ????