Settings

Theme

Ask HN: Good Ressources on API Architecture?

7 points by alexejb 2 years ago · 7 comments · 1 min read


Backend rookie here!

I'm playing around with the coding of a small API for simple CMS needs which will be eventually the backend of my personal website. It has the standard stuff like logins, jwt authentication and there will be some minor data uploading stuff in its future iterations. It's written in Go and I use Mongo as my database. Now I am asking myself whether there are some architectural approaches or patterns out there for building maintanable and also scalable backends with logical and secure APIs? Any good hints where to start or some good examples?

Thanks in advance!

oldtimesnever 2 years ago

Also roadmap.sh have a good set of resources for general (and web) design and architecture patterns: https://roadmap.sh/backend

dygd 2 years ago

Check out the OpenAPI spec https://swagger.io/specification/. One advantage is that you can use the spec to generate both client and server-side code, see https://deliveroo.engineering/2022/06/27/openapi-design-firs... for example. If you're looking for inspiration, there's a ton of OpenAPI links at https://apirank.dev/

willmeyers 2 years ago

Geewax's API Design Patterns (https://www.manning.com/books/api-design-patterns) is a solid resource especially if you plan on using Go. It's based of Google's own API design principles: https://google.aip.dev

potato_database 2 years ago

here, might help ya

https://cloud.google.com/apis/design

https://learn.microsoft.com/en-us/azure/architecture/best-pr...

https://opensource.zalando.com/restful-api-guidelines/

  • hiimsteveee 2 years ago

    I feel like these are a little too rigid when starting out, just make sure you version your API and try to keep it backwards compatible, it will evolve anyway

  • alwinaugustin 2 years ago

    I found the Google link useful regarding the design.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection