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)