Ambient Coder
Ambient Coder
  • Видео 11
  • Просмотров 523 389
Web API - Explicit Versioning | URI vs Headers vs Request Params | SemVer | Sunset Headers
Versioning Web APIs is not a simple task. In this video I go through all the major things you need to know in order to set up Web API versioning successfully.
There are 3 ways in which you can implement versioning. You can use URI version schemes, HTTP headers to indicate version schemes or accept them in your HTTP request query parameters.
This video also shows how to use version labels with semantic versioning specification (SemVer). Finally I also go through approaches to decommission or deprecate your Web API version using sunset headers.
Previous video - Additive Change Strategy ruclips.net/video/y6wXRMDtZd8/видео.html&ab_channel=AmbientCoder
References:
Jin, Brenda,Sahni, Saurabh,Shevat...
Просмотров: 4 079

Видео

Web API Versioning | Additive Change Strategy
Просмотров 4,7 тыс.2 года назад
Change management is crucial in building and maintaining successful Web APIs. In this video, I go through one possible approach to API versioning using a strategy called additive-change strategy. Timecodes 0:00 - Intro 0:38 - Why version APIs? 3:05 - Additive-change strategy 6:14 - Caveats 7:08 - Conclusion
Migrate a Node.js app from JavaScript to TypeScript | Tips for gradual adoption
Просмотров 14 тыс.3 года назад
Learn how to gradually migrate a Node.js application from JavaScript to TypeScript. In this video, I cover the the following: - How to set up a tsconfig.json file. - How to fix TypeScript errors when converting JS files to TS. - How to use a combination of CommonJs and ES6 modules with esModuleInterop configuration. - How to use a hybrid approach of TypeScript and JavaScript using allowJs confi...
Fast track your CAREER as a backend SOFTWARE Engineer
Просмотров 3 тыс.3 года назад
If you're starting off as a fresh graduate or self-taught developer, it's important that you spend time on setting a strong foundation to fast-track your software engineering career. In this video, I share 8 tips that can help you learn how to fast-track your backend software engineering career. These are based on my personal experiences which have worked wonders for me. They are applicable to ...
Web API Rate Limiting - Why it's so IMPORTANT for your APIs
Просмотров 10 тыс.3 года назад
Most folks tend to ignore adding API rate limiting policies until they've learnt things the hard way. Don't make that mistake. Understand how important rate limiting is and what considerations you need to take when designing your rate limiting policies. If you are looking for a complete guide on being a top backend API developer, check out this playlist: ruclips.net/p/PLP_rkG1reBjrCKy2Pb1bvjJKb...
Web API Pagination | Offset-based vs Cursor-based
Просмотров 46 тыс.3 года назад
Web API pagination is crucial for building scalable APIs. There are 2 different pagination standards that you can use. It's offset-based pagination and cursor-based pagination, sometimes referred to as continuation token based pagination. It's important that you understand how these standards work and pick the right one because it's not a one size fits all thing. In this video, I give you all t...
OAuth 2.0 using Auth0 | React.js and Node.js
Просмотров 66 тыс.3 года назад
Learn how to implement the OAuth 2.0 Authorization Code Flow by using Auth0. This complete tutorial covers everything from setting up Auth0, getting users to login and grant consent, exchanging authorization codes for access tokens, verifying JWT tokens and checking for permissions. This video covers everything you need to know about implementing OAuth using react.js and node.js. Link to full e...
Web API Security | Basic Auth, OAuth, OpenID Connect, Scopes & Refresh Tokens
Просмотров 59 тыс.3 года назад
There is a lot that goes into securing a Web API. In this video, I discuss why the industry decided to move on from Basic Authentication and OAuth 2.0 took over as the new standard of securing Web APIs. This video also covers how OpenID Connect works together with OAuth to solve both Authentication and Authorization. Scopes and deciding how to use scopes in OAuth is tricky, I also cover some ti...
Webhooks vs Websockets vs HTTP Streaming - Which Event-Driven API to use?
Просмотров 162 тыс.3 года назад
As a backend engineer, it's crucial that you understand which event-driven API is best for your use case. This video goes through the 3 most commonly used API standards which are Webhooks, Websockets and HTTP Streaming. Timecodes 0:00 - Intro 0:38 - Recap on Request-Response APIs 2:22 - Webhooks 5:12 - Websockets 7:51 - HTTP Streaming 10:08 - Conclusion
REST vs RPC vs GraphQL API - How do I pick the right API paradigm?
Просмотров 144 тыс.3 года назад
This video briefly explains the most common request-response API paradigms, which are REST APIs, RPC APIs and GraphQL APIs, and how you can determine which is the most suitable for your next project. Timecodes 0:00 - Intro to Request-Response APIs 1:44 - REST APIs 8:22 - RPC APIs 11:02 - GraphQL APIs
Google Cloud Firestore in 10 mins (Node.js)
Просмотров 10 тыс.4 года назад
A quick introduction to Google Cloud Firestore, which rivals NoSQL cloud databases such as Azure Table Storage and Amazon DynamoDB. The video guides you through the basic data model of Firestore and how you can structure your data using collections and subcollections (Hierarchical Data). There is a walkthrough of creating a Cloud Firestore resource on GCP and setting up authentication for Node....

Комментарии

  • @RaffayDoesTech
    @RaffayDoesTech 8 дней назад

    When did http become event driven?

  • @MsTheBiggest
    @MsTheBiggest Месяц назад

    Amazing overview

  • @akbarkool
    @akbarkool Месяц назад

    For cursor based - Records need to be added sequentially to DB only if we'd like to have consistent results

  • @gustavonaves6947
    @gustavonaves6947 2 месяца назад

    The best explanation on the Internet about Auth0. Thank you!!

  • @gustavonaves6947
    @gustavonaves6947 2 месяца назад

    Thanks for this video!

  • @PrashanthKumar-e4q
    @PrashanthKumar-e4q 3 месяца назад

    Is this the final episode in this series?

  • @nuny-vega
    @nuny-vega 3 месяца назад

    Great video, thanks!

  • @araz911
    @araz911 3 месяца назад

    🤨

  • @samuelokoli6584
    @samuelokoli6584 3 месяца назад

    Hello I really love and appreciate the effort you've put into creating this gem and making it free for us all to learn from.. thank you so much!! 🙌🏼> I do have some concerns and questions i'd so glad if I got answers to 1. why do we have a different server for API authorisation (is this for decoupling purposes) or wouldn’t this be just some sort more "unnecessary" round trips increasing the clients' latency... 2. you had talked about adding a refresh token login.. i believe this would be on the API authorisation server, in which if so, the client will keep sending an expired code for subsequent request and the API authorisation server would keep making round trips to get refreshtoken for each request as there is no way to notify the client that the authorisation code is expired. I may be wrong in my analogy as to why I would need clarifications. so wouldn’t if have been better to have the authorization function and guard function as middlewares on the actual API or would this defeat the any security issue (I would want to understand the reason for this two servers). again instead of implementing a refresh token is there no way the client can get a new code without going through the rigorous process of signing in again and then have the first authorization function fail with 401 if already expired such that the client can get a new one. I really understand the concept of wanting to not have the client have access to either the token or refresh_token, cus in one implementation I had I wasn’t using an authorisation code but rather the token is being sent by the client and if expirated, the client would send a request for a refresh token using the httpOnly refresh_token cookie set to get a new token. so really would love the idea of not sending the token from the client but then..., there just seem to be that slight issue of a possible expired authorization code being sent should we decide to implement a possibility to allow the client stay on for a while - (say in the case of a blog site). i would really hope I get a reply and that my thought process is not out of place. 😓

  • @danielvega646
    @danielvega646 4 месяца назад

    Love you.

  • @ben.aka.bigben
    @ben.aka.bigben 4 месяца назад

    Man, I just came across your channel and its very sad that you stopped for a year now. The way you explaining things is spot on.

  • @112_akmalmahardikanp8
    @112_akmalmahardikanp8 4 месяца назад

    really appreciate this. this fit what i am searching for

  • @LuisEDITS_KLK
    @LuisEDITS_KLK 4 месяца назад

    Great vide, can we not have a hybrid approach where both are used consistently? Users wan to jump to the last page just to see the last updated content, so off set pagination is useful here, however from there they might wanna go back to previous pages one by one which they can do by cursor based pagination. This might be too complex and unnecessary but would be amazing.

  • @PradipLamsal-s8m
    @PradipLamsal-s8m 5 месяцев назад

    Thank you very much. Saved me a lot of hassle.

  • @ABUTAHER-wg7gz
    @ABUTAHER-wg7gz 5 месяцев назад

    How to check in forntend user is authenticated or not?

  • @MarwaElAmine-jd1pn
    @MarwaElAmine-jd1pn 5 месяцев назад

    This playlist is very useful with clear explanation. Thank you a lot. Looking forward for more.

  • @chituvabachube8057
    @chituvabachube8057 5 месяцев назад

    Your videos are amazing! Keep up your work! ❤

  • @chituvabachube8057
    @chituvabachube8057 5 месяцев назад

    Amazing series!

  • @chituvabachube8057
    @chituvabachube8057 5 месяцев назад

    Amazing channel, keep up your great work! 😊

  • @sandeshth466
    @sandeshth466 5 месяцев назад

    Why not SSE

  • @DUhWcpgD7b4SDA2Aep9EqWLyfGu2
    @DUhWcpgD7b4SDA2Aep9EqWLyfGu2 6 месяцев назад

    Thanks!

  • @ammadkhan4687
    @ammadkhan4687 8 месяцев назад

    Very helpful. Gold worth information at one place. Thanks for sharing.. really appreciate

  • @kelechiduru962
    @kelechiduru962 8 месяцев назад

    You are a great teacher.

  • @baghdadiabdellatif1581
    @baghdadiabdellatif1581 9 месяцев назад

    Thank you

  • @pieter5466
    @pieter5466 10 месяцев назад

    Video glosses over the critical distinction: while the offset is a relative number from the start of all records, the cursor is a direct memory/storage pointer to the exact record where we left off, which is always faster. (The video mentions "pointer" only in passing.)

  • @joshr.2600
    @joshr.2600 10 месяцев назад

    🎶 music is weird.

  • @jeffreycui9933
    @jeffreycui9933 11 месяцев назад

    Thank you for the excellent video. But why use PUT for a search instead of using GET?

  • @mrsbootsworkouts
    @mrsbootsworkouts 11 месяцев назад

    Very useful, thank you!

  • @Vijay-Yarramsetty
    @Vijay-Yarramsetty 11 месяцев назад

    this is so great and informative. thanks mate.

  • @eliasvelazquez5995
    @eliasvelazquez5995 11 месяцев назад

    This was quite helpful. Loved the way you explain complicated concepts in an easy manner. Thank you!

  • @kacperkepinski4990
    @kacperkepinski4990 Год назад

    what is dist?

  • @nisaanwaar4732
    @nisaanwaar4732 Год назад

    how is access token validated at api level?

  • @sunilbabu588
    @sunilbabu588 Год назад

    Are you still active? Just wanted to let you know that your contents are appreciated.

  • @Sulls58
    @Sulls58 Год назад

    I really appreciate your approach to teaching. Thank you!

  • @darkkuja22
    @darkkuja22 Год назад

    the high hats of the rap music in the background are very distracting

  • @youngun550
    @youngun550 Год назад

    Thank you so much for this video! So much value!

  • @denemedenemeoğlu-u8i
    @denemedenemeoğlu-u8i Год назад

    where is soap?

  • @abhisingh8864
    @abhisingh8864 Год назад

    clear all my doubts. thanks for this excellent explanation ❤

  • @dgillies5420
    @dgillies5420 Год назад

    6:05 I think mean, "You don't want to use _verbs_ ..." not "nouns"

  • @andrew.schaeffer4032
    @andrew.schaeffer4032 Год назад

    thanks for the video, but a little hard to hear.

  • @DdPk3d
    @DdPk3d Год назад

    great video but music is distracting

  • @lemannequin7203
    @lemannequin7203 Год назад

    excellent

  • @krzysztofjarek6476
    @krzysztofjarek6476 Год назад

    Channel with great resources :)

  • @ChanceMinus
    @ChanceMinus Год назад

    Thank you.

  • @artemkravchenko1134
    @artemkravchenko1134 Год назад

    7:45 is not true

    • @PradipLamsal-s8m
      @PradipLamsal-s8m 5 месяцев назад

      He adds "not in a RESTful manner, anyway" so that should make his statement true.

  • @artemkravchenko1134
    @artemkravchenko1134 Год назад

    From 7:13 Is not true. You can select particular field from entity not downloading whole entity.

  • @LarryPeteet
    @LarryPeteet Год назад

    Excellent, Thank you!

  • @dennisk648
    @dennisk648 Год назад

    There are no such a “problems” in Rest CRUDs. It is not a protocol, but an agreement, a pattern

  • @elchemista
    @elchemista Год назад

    put speed 1.5.. you welcome 😉

  • @supa1009
    @supa1009 Год назад

    Great explanation, thank you!