Sometimes, it can be very confusing on how to name your api endpoint.
This is the tips and guideline for you on how to name your API endpoint
1. Use only nouns, rather than adding verbs
Example:
👍🏻 /users
👎🏻 /get-users
It will be funny if you put action in the endpoint. We will directly straight know, it use a GET request.
Use singular or plural nouns? It depends.
If get more user, preferably use /users
. If one user, then /user
is the answer
2. Short, Clear and Intuitive
Example:
👍🏻 /id
👎🏻 /identification-number
👎🏻 /id/1234/fn
For example 3, this would be misleading. It's not clear. What is fn? As for me, I would think it a function
3. Build hierarchy and grouping into logical groups
Example:
👍🏻 /departments/managers
👍🏻 /product/variation
4. Use only lowercase
Example:
👍🏻 /kyc-form-application
👎🏻 /KYCFormApplication
URIs are case sensitive, try to avoid upper case unless it is necessary. And also, avoid unnecessary confusion and inconsistency in naming your endpoint.
5. Avoid special characters in the endpoint
Example:
👍🏻 /store
👎🏻 /%store
You can refer here for list of special character
6. Use hyphen (-) to separate words rather than underscore (_) or camelCase
Example:
👍🏻 /generate-s3-presigned-url
👎🏻 /generateS3PresignedUrl
Your endpoint will looks more cleaner, clearer and user friendly. Google recommend us to use hyphens as it is good for Google search, it make its web crawling job easier, thus creating more consistent results.
7. Use camelCase for parameters
Example:
👍🏻 /user/{userId}
👎🏻 /user/{user_id}
8. Do versioning for your user to use the endpoint
Our API will keep changing over the time, the implementation, the request body, the response etc, hence versioning is important to avoid the endpoint from breaking when the user use it. For me, the easiest way to do versioning is the 1st way.
Avoid doing silly mistake like me when I create my endpoint before this. But hey, we learn from our mistakes right?
That's all for the tips and how to naming your endpoint!
Thank you for reading :D
Psstt pstt :p
Do consider to love this article ❤️ and follow me! Why not right? It's FREE~
I would really appreciate it 👨🏻💻
Will be posting more on things related to AWS, Javascript, Python, Serverless and more!
Top comments (0)