Using HTTP Methods: CRUD Operations
Now we will see how to use the HTTP methods to perform the basic crud operations in the registration app.
Suppose we want to
GET the data of the student with student id 10. The resource URI for this operation will be
And if we want to
DELETE the data of the student with the student id 10. The resource URI for this operation will be
Now how will the server identify that which request is for the
GET operation and which request is for the
DELETE operation for the same URI. The answer is, by checking the HTTP method parameter. The method for the first operation should be
GET and for the second operation, it should be
The common HTTP methods are:
There are some other methods that are rarely used like
OPTIONS. These HTTP methods have specific meaning and you typically use the right method for the right operation. Also while surfing the Internet, like when you are browsing a webpage you are actually using these methods automatically. When you type a URL in the address bar of your browser, the browser automatically issues a
GET request to the browser. When u submit an HTML Form, the browser uses the
POST request to do so. The idea is to use the right method depending on the operation.
When we talk about REST application, you do not name methods like, getStudents. You make a
GET request for the
Use Cases for our Registration Application
There are certain use cases of Resgistration Application like:
Getting the Student/Course Information
This should be getting the resource URI.
GET /myApp/students/ // This will give the list of all the students in the system. GET /myApp/students/1 // This will give the student with the roll number 1.
Similarly we can get the course information
GET /myApp/courses/ // This wil return the list of all the courses of the students. GET /myApp/registrations/ // this will give all the registrations information.
Deleting the Student/Course Information
To delete any student or course,
DELETE /myApp/students/1 // This will delete the student record with the roll number 1. DELETE /myApp/couses/10 // This will delete the course with course id 10.
Updating the Student/Course Information
To update student or course information,
PUT /myApp/students/1 //This will update the student record with the roll number 1. PUT /myApp/courses/10 //This will update the course record with course id 10.
The data to be updated, will go in the body of the HTTP
Inserting the Student/Course Information
This is really important as now we have to create a new entry for the student or course information.
The request in this case should be sent to the collection URI and not to the single resource, for example:
POST /myApp/students/20 //This is incorrect POST /myApp/students/ //This is correct
So for creating a new resource we should always send the request to the collection URI and leave the responsibility of creating the roll no. or course id to the application.
So when we do post request,
POST /myApp/students/ with the request body, the application will create a new resource and generate a new roll number and return this to the user as response.
As of now, we have only learnt, how to operate on a single resource. But what if we information about all of the students, courses and registrations. This is a Collection URI.
GET /myApp/students/ //This will return all the records of the students. GET /myApp/courses/ //This will return all the records of the courses. GET /myApp/registrations/ //This will return all the records of all the registrations.
So in this lesson we have identified the basic HTTP methods which can meet our requirements when designing an API as these HTTP methods map to the CRUD operations.