CommunityNews

CommunityNews

How to Design Better APIs

How to design better APIs.
15 language-agnostic, actionable tips on REST API design.

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

Most Liked

andrea

andrea

Awesome list. What about for GraphQL APIs? :slight_smile:

dyowee

dyowee

A much welcome article/resource, even if you are designing private/internal APIs.

Exadra37

Exadra37

I want to add a word of caution for the use of this terms…

I work as a Developer Advocate for Mobile and API Security and I see a lot the term of private APIs being used incorrectly. Bear in mind that an API is only private when is not exposed to the world wide web (only works in an intranet), and that is rarely the case.

Just because an API needs a subscription, is only by invite, and/or is not documented anywhere, etc, doesn’t make it private. From the moment that a mobile app or web app uses the public internet to reach the API server, your API is public not private, because all it takes is to reverse engineer the mobile app or the web app to discover the API endpoints and then workout how they work in order to automate exploits against it.

Open source tools also exist to scan all domains and their sub-domains in order to find hidden APIs and then try to automatically fuzz them in order to try to find a way in, and you can assert this by deploying an online server with a public domain pointing to it and then tail the logs and you will see that just after a few seconds/minutes you can see strange entries in your logs.

Where Next?

Popular General Dev topics Top

First poster: bot
FUZIX FUZIX is a fusion of various elements from the assorted UZI forks and branches beaten together into some kind of semi-coherent pla...
New
First poster: AstonJ
We engineered a wearable microphone jammer that is capable of disabling microphones in its user’s surroundings, including hidden micropho...
New
First poster: Maartz
This Keyboard Lets People Type So Fast It’s Banned From Typing Competitions. A new peripheral lets you keep typing without ever lifting ...
New
First poster: bot
Developing Godot Projects with Neovim. When I started using Godot Engine, what surprised me the most is the built-in Language Server Pro...
New
First poster: bot
GitHub - jakehilborn/displayplacer: macOS command line utility to configure multi-display resolutions and arrangements. Essentially XRand...
New
CommunityNews
9 fintech engineering mistakes. Read this list unless you want to build a money dissappearing system
New
CommunityNews
The Definitive PHP 7.2, 7.3, 7.4, 8.0, and 8.1 Benchmarks (2023). We tested the performance of 14 PHP platforms (WordPress, Drupal, Lara...
New
First poster: fullstackplus
Why Python is terrible… Nice language, but unsuitable for most professional purposes
New
First poster: dyowee
Software engineering job openings hit five-year low?. There are 35% fewer software developer job listings on Indeed today, than five yea...
New
CommunityNews
After switching from Firefox to LibreWolf, I became interested in the idea of self-hosting my own Firefox Sync server. Although I had see...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1063 23582 394
New
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New