Developing RESTful Servers and Clients
Let’s learn about the preferred way of structuring a RESTful service.
We'll cover the following
Overview of RESTful server endpoints in Go
In the next two lessons, we are going to develop a RESTful server and a client for that server using the functionality of the Go standard library to understand how things really work behind the scenes. The functionality of the server is described in the following list of endpoints:
/add
: This endpoint is for adding new entries to the server./delete
: This endpoint is used for deleting an existing entry./get
: This endpoint is for getting information about an entry that already exists./time
: This endpoint returns the current date and time and is mainly used for testing the operation of the RESTful server./
: This endpoint is used for serving any request that is not a match to any other endpoint.
This is our preferred way of structuring the RESTful service.
Alternative endpoint structure for RESTful service in Go
An alternative way of defining the endpoints would be the following:
/users/
with theGET
method: Get a list of all users./users/:id
with theGET
method: Get information about the user with the given ID value./users/:id
with theDELETE
method: Delete the user with the given ID./users/
with thePOST
method: Create a new user./users/:id
with either thePATCH
or thePUT
method: Update the user with the given ID value.
The implementation of the alternative way is left as an exercise for the reader—it should not be that difficult to implement it given that the Go code for the handlers is going to be the same, and we only have to redefine the part where we specify the handling of the endpoints.
Get hands-on with 1200+ tech skills courses.