Spring Boot Basic GET POST DELETE PUT method Annotation
@GetMapping
@RequestParam
Eg, localhost:8080/search?query=hello
@GetMapping("/search")
public String search(@RequestParam String query) {
return "Your Query " + query;
}
@PathVariable
Eg, localhost:8080/id/{value}
@GetMapping("/rollNo/{id}")
public Stream<UserDTO> findbyRollNumber(@PathVariable String id) {
return userList.stream().filter(k -> k.getRollNo().equals(id));
}
@PostMapping
@RequestBody
@PostMapping("/save")
public List<UserDTO> saveUser(@RequestBody UserDTO user) {
userList.add(user);
return userList;
}
@DeleteMapping
@DeleteMapping("/rollNo/{id}")
public String deleteUser(@PathVariable String id) {
if (userList.removeIf(k -> k.getRollNo().equals(id))) {
return "removed";
} else {
return "not found";
}
}
@PutMapping
@PutMapping("/update")
public List<UserDTO> update(@RequestBody UserDTO user) {
int index = IntStream.range(0, userList.size())
.filter(k -> userList.get(k).getRollNo().equals(user.getRollNo())).findFirst().orElse(0);
userList.set(index, user);
return userList;
}