DEV Community

Cover image for Best RESTful API Practices and Tools

Best RESTful API Practices and Tools

Adnan Babakan (he/him) on November 22, 2020

Hey, DEV.to community! Web development has been changed drastically in the past few years. Websites used to use template engines to render the pag...
Collapse
 
dualyticalchemy profile image
⚫️ nothingness negates itself • Edited

you have not described REST but have confused HTTP to be synonymous with REST:

What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? In other words, if the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and cannot be a REST API. Period. Is there some broken manual somewhere that needs to be fixed? (roy.gbiv.com/untangled/2008/rest-a...)

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Thanks for reading my article. As the title suggests I tend to explain some of the ways I like to organize my API server. Here I am not trying to explain how RESTful systems should be designed. Still thanks for the information.

Collapse
 
dualyticalchemy profile image
⚫️ nothingness negates itself • Edited

right on, but you raise the question: "What is RESTful?" and then subsequently give a definition that does not consider the constraints of REST or specifically HATEOAS.

you say:

"RESTful is an architectural style of designing an end-point in which software can retrieve data using the HTTP protocol."

this is an incomplete definition. as Roy fielding suggests, if you want to use a buzz word, stick with CRUD and HTTP, but you do not need to confuse the reader by mentioning REST if you are not interested in developing, describing, interpreting or explaining REST architectural style.

we want to focus on the essentials and allow developers to learn the right concepts

Thread Thread
 
adnanbabakan profile image
Adnan Babakan (he/him)

I have rephrased the sentence, thanks for helping me out. Tell me if I need to change to anything else. I'd appreciate it.

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him) • Edited

Thanks again for the information. I've updated the post and added this link for further studies in case anyone wanted to read.

Collapse
 
liyasthomas profile image
Liyas Thomas • Edited

If you'd like to test your APIs online, try Hoppscotch - A free, fast and beautiful API request builder used by 100k+ developers.

Project is open source:

GitHub logo hoppscotch / hoppscotch

👽 A free, fast and beautiful API request builder used by 100k+ developers. https://hoppscotch.io

Also supports WebSocket, SSE, Socket.IO, MQTT, API Documentation generator, CLI tool, GraphQL playground etc.

Collapse
 
humlix profile image
humlix • Edited

If you like to test your endpoints more, you can use Humlix, a tool that generates tests for RESTful APIS. See this article on how Humlix was used to discover bugs in GitLab CI/CD

Collapse
 
lordofcodes profile image
Sujeet Agrahari

What make an existing API Restful is its constraints, without those, at least some, is just still an API not restful.

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Thanks for reading my article. Do you mean like authentication and authorization?

Collapse
 
lordofcodes profile image
Sujeet Agrahari
Thread Thread
 
adnanbabakan profile image
Adnan Babakan (he/him)

Thanks for this useful information. I aimed to describe the way of RESTful pattern works in this post though rather than how a RESTful server would act. Thanks again.

Collapse
 
baozebing profile image
baozebing

又有点意思