Advertisement
Guest User

backend

a guest
Dec 19th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. @RestController
  2. public class ToDoController {
  3. private ToDoRepository repository;
  4.  
  5. public ToDoController(ToDoRepository repository) {
  6. this.repository = repository;
  7. }
  8.  
  9. @GetMapping("/todos")
  10. List<ToDo> all() {
  11. return repository.findAll();
  12. }
  13.  
  14. @PostMapping("/todos")
  15. ToDo newToDo(@RequestBody ToDo newToDo) {
  16. return repository.save(newToDo);
  17. }
  18.  
  19. @GetMapping("/todos/{id}")
  20. ToDo one(@PathVariable Long id) {
  21. return repository.findById(id)
  22. .orElseThrow(() -> new ToDoNotFoundException(id));
  23. }
  24.  
  25. @PutMapping("/todos/{id}")
  26. ToDo replaceToDo(@RequestBody ToDo newToDo, @PathVariable Long id) {
  27.  
  28. return repository.findById(id)
  29. .map(toDo -> {
  30. toDo.setTaskName(newToDo.getTaskName());
  31. toDo.setDueDate(newToDo.getDueDate());
  32. toDo.setExtraNote(newToDo.getExtraNote());
  33. toDo.setTaskCompleted(newToDo.getTaskCompleted());
  34. return repository.save(toDo);
  35. })
  36. .orElseGet(() -> {
  37. newToDo.setId(id);
  38. return repository.save(newToDo);
  39. });
  40. }
  41.  
  42. @DeleteMapping("/todos/{id}")
  43. void deleteToDo(@PathVariable Long id) {
  44. repository.deleteById(id);
  45. }
  46.  
  47. @GetMapping("/deleteall")
  48. @CrossOrigin(origins = "http://localhost:4200")
  49. public void deleteAll() {
  50. repository.deleteAll();
  51. }
  52.  
  53. @GetMapping("/init")
  54. @CrossOrigin(origins = "http://localhots:4200")
  55. public void createDefaults() {
  56. Date date = new Date();
  57. repository.save(new ToDo("PMB", date, false));
  58. repository.save(new ToDo("GMDU", date, false));
  59. repository.save(new ToDo("INMA", date, true));
  60. repository.save(new ToDo("SLGP", date, false));
  61. }
  62.  
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement