HTTP Methods: Definitions & Descriptions
| HTTP Method | Definition / Description |
|---|---|
| GET | Retrieve data from a server at the specified resource. It is read-only and should have no side effects (i.e., not modify data). Commonly used for fetching lists, details, or static content. |
| POST | Submit data to the server to create a new resource. The server processes the request and returns the new resource or a success status. Used in forms, sign-ups, data submissions. |
| PUT | Replace an existing resource entirely with the provided data. If the resource does not exist, some APIs may create it (though this is debated). Used for complete updates. |
| PATCH | Partially update an existing resource. Only the fields sent in the request are modified; others remain unchanged. More efficient than PUT for small changes. |
| DELETE | Remove a resource from the server. It targets a specific resource or dataset. Often used for deleting users, posts, files, etc. |
| HEAD | Same as GET, but only returns headers, not the response body. Useful for checking if a resource exists or retrieving metadata. |
| OPTIONS | Returns allowed HTTP methods and CORS policies for a resource. Often used in preflight requests in cross-origin setups. |
| TRACE | Echoes back the received request. Mostly used for debugging and testing, but generally disabled for security reasons. |
| CONNECT | Establishes a tunnel, typically for HTTPS connections through proxies. Rarely used in app-level programming. |
Mastering HTTP Methods in Spring Boot
| HTTP Method | Spring Boot Annotation | Usage Description | Typical Responses |
|---|---|---|---|
| GET | @GetMapping |
Retrieve resource(s) without modifying anything. |
200 OK, 204 No Content, 404 Not Found
|
| POST | @PostMapping |
Create a new resource. |
201 Created, 400 Bad Request, 409 Conflict, 422 Unprocessable Entity, 500 Internal Server Error
|
| PUT | @PutMapping |
Replace an existing resource entirely. |
200 OK, 204 No Content, 400 Bad Request, 404 Not Found
|
| PATCH | @PatchMapping |
Update a part of the existing resource. |
200 OK, 204 No Content, 400 Bad Request, 404 Not Found
|
| DELETE | @DeleteMapping |
Delete a resource. |
200 OK, 204 No Content, 404 Not Found, 400 Bad Request
|
Typical HTTP Response Codes
| Code | Meaning | When to Use |
|---|---|---|
200 |
OK | Request succeeded (GET, PUT, PATCH, DELETE). |
201 |
Created | Resource created successfully (POST). |
204 |
No Content | Success with no body returned. |
400 |
Bad Request | Invalid input or request syntax. |
401 |
Unauthorized | Authentication is required or failed. |
403 |
Forbidden | Authenticated but not authorized. |
404 |
Not Found | Resource doesn’t exist. |
409 |
Conflict | Resource already exists or version conflict. |
422 |
Unprocessable Entity | Validation passed structurally but failed semantically. |
500 |
Internal Server Error | Unexpected error on server side. |
Top comments (0)