Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learning to ❤️ HATEOAS

Learning to ❤️ HATEOAS

devNetNoord

April 06, 2023
Tweet

More Decks by devNetNoord

Other Decks in Programming

Transcript

  1. DevNetNoord Learning to ♥ HATEOAS Sander ten Brinke Lees mijn

    blogpost over HATEOAS https://stenbrinke.nl
  2. Sander ten Brinke • Lead Software Engineer @ Arcady •

    Backend, App, Cloud, DevOps, Frontend.. sander1095 [email protected] stenbrinke.nl Let’s connect! @sandertenbrinke Sander ten Brinke
  3. How to fall in love with HATEOAS.. Begin met de

    basis Waar is HATEOAS goed in? Elkaar nog beter leren kennen ♥
  4. Probleem: Client side business logica Case study: Het verwijderen van

    een tweet (met minder dan <= 1000 retweets)
  5. Probleem: Client side business logica Case study: Het verwijderen van

    een tweet (met minder dan <= 1000 retweets)
  6. “Een tweet moet nu verwijderd kunnen worden totdat er 5000

    retweets zijn” Hoe doen we dit zonder al onze front-ends aan te passen?
  7. Met HATEOAS! Hypermedia as the Engine of Application State Dankzij

    links (Hypermedia) Laat het antwoord van de API (engine) de huidige “state” en de mogelijke “state changes” zien (application state)
  8. Meer info over HATEOAS Willekeurige lezer: Eigenaar van tweet: Dit

    is echt gebeurd..🤨 Werkt ook voor lijsten!
  9. Alternatieven • Gewoon een lijst met actienamen in je response

    zetten.. • Wees flexibel! • Server side rendering Lijst met actienamen
  10. Conclusie Voorkom client side business logica door de API data

    én mogelijke acties te laten sturen HATEOAS (HEET-OOH-ES) is hier een uitstekende keuze voor! ♥
  11. Resources • Arcady’s HATEOAS library voor ASP.NET Core (WIP) •

    https://github.com/arcadyit/munisio • Contributions and stars (⭐) are welcome! • Nog een .NET voorbeeld: https://github.com/riskfirst/riskfirst.hateoas • HATEOAS libraries bestaan ook voor andere talen en frameworks! • Leer meer over HATEOAS: • https://hypermedia.systems • https://restfulapi.net/hateoas/ • https://htmx.org/essays/hateoas/ • https://stenbrinke.nl/blog/reducing-duplicate-code-in-our-applications-using-hateoas/ Lees de blog post!