Skip to content

yasirunadeeshaa/Spring-Boot-Full-Crud-Service-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

This UserController class manages user-related operations such as fetching, adding, updating, and deleting users. It uses Spring Boot's @RestController and other annotations to expose these operations as HTTP endpoints, accessible through a REST API.

  1. Code Analysis

1.1 Class Annotations

@RestController: Marks this class as a REST controller, making it ready to handle HTTP requests. @CrossOrigin : Allows cross-origin requests (useful for front-end applications hosted on different domains). @RequestMapping(value="api/v1"): Sets a base URL for all endpoints in this controller (/api/v1).

1.2 Dependency Injection

@Autowired:-
Injects UserService into UserController so that it can use the service’s methods to handle business logic.

1.3 Endpoints

@GetMapping("/getuser") :-
Purpose: Fetches a list of users. Returns: A List containing user data. Example Request: GET /api/v1/getuser

@PostMapping("/adduser") :-
Purpose: Adds a new user. Request Body: Accepts a UserDTO object in JSON format. Returns: The added UserDTO object. Example Request: POST /api/v1/adduser with JSON body { "name": "John Doe", "email": "[email protected]" }

@PutMapping("/updateuser"):-
Purpose: Updates an existing user. Request Body: Accepts a UserDTO object with updated user details. Returns: The updated UserDTO object. Example Request: PUT /api/v1/updateuser with JSON body { "id": 1, "name": "Jane Doe", "email": "[email protected]" }

@DeleteMapping("/deleteuser"):-
Purpose: Deletes a user. Request Body: Accepts a UserDTO object, typically with an id for identification. Returns: A String message indicating success or failure. Example Request: DELETE /api/v1/deleteuser with JSON body { "id": 1 }

1.4 Potential Enhancements

Path Parameters for Specific User IDs: Using a path variable like @DeleteMapping("/deleteuser/{id}") for delete operations can make the API cleaner. Error Handling: Consider adding error handling with @ExceptionHandler or using ResponseEntity to provide custom HTTP status codes. ResponseEntity Usage: Return ResponseEntity instead of UserDTO for more control over HTTP status and headers.

About

crud service practice test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages