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

AstonJ
Apple co-founder Steve Wozniak is suing YouTube for allegedly allowing scammers to use images and videos of him to defraud people. The s...
New
Exadra37
As part of our continued goal of helping developers provide safer products for businesses and consumers, we here at McAfee Advanced Threa...
New
First poster: dimitarvp
On Wednesday last week, Google’s Fiona Cicconi wrote to company employees. She announced that Google was bringing forward its timetable ...
New
First poster: dwaynebradley
Maybe it’s just my experience, but Object-Oriented Programming seems like a default, most common paradigm of software engineering. The on...
New
First poster: iPaul
TOKYO (Kyodo) – Japan’s government plans to encourage firms to let their employees choose to work four days a week instead of five, aimin...
New
First poster: dpritchett
It’s not what programming languages do, it’s what they shepherd you to. How many of you have listened, read or taken part in a discussio...
New
First poster: bot
It has some interesting features: It’s entirely wireless (the left half speaks Bluetooth to the right half, and the right half speaks B...
New
First poster: cpgo
8 reasons to ditch Chrome and switch to Firefox. Chrome may dominate, but Firefox is a known name among browsers for a reason. Whether y...
New
CommunityNews
Docker on MacOS is slow and how to fix it. Thanks to the DALL·E 2, we finally have a very nice graphic representation of the feelings of...
New
New

Other popular topics Top

axelson
I’ve been really enjoying obsidian.md: It is very snappy (even though it is based on Electron). I love that it is all local by defaul...
New
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New