package com.example.demo.controller;
import com.example.demo.model.User;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
private List<User> userList = new ArrayList<>();
// Add some sample users
public UserController() {
userList.add(new User(1, "John Doe", "john@example.com"));
userList.add(new User(2, "Jane Smith", "jane@example.com"));
}
// 1️⃣ Get All Users
@GetMapping
public List<User> getAllUsers() {
return userList;
}
// 2️⃣ Get a Single User by ID
@GetMapping("/{id}")
public User getUserById(@PathVariable int id) {
return userList.stream()
.filter(user -> user.getId() == id)
.findFirst()
.orElse(null);
}
// 3️⃣ Create a New User
@PostMapping
public String createUser(@RequestBody User user) {
userList.add(user);
return "User added successfully!";
}
// 4️⃣ Update an Existing User
@PutMapping("/{id}")
public String updateUser(@PathVariable int id, @RequestBody User updatedUser) {
for (User user : userList) {
if (user.getId() == id) {
user.setName(updatedUser.getName());
user.setEmail(updatedUser.getEmail());
return "User updated successfully!";
}
}
return "User not found!";
}
// 5️⃣ Delete a User
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable int id) {
userList.removeIf(user -> user.getId() == id);
return "User deleted successfully!";
}
}