Repository navigation
Expand file tree
/
Copy pathUserController.java
More file actions
68 lines (58 loc) · 2.2 KB
/
Copy pathUserController.java
File metadata and controls
68 lines (58 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package codesquad.web;
import codesquad.domain.User;
import codesquad.dto.UserDto;
import codesquad.security.LoginUser;
import codesquad.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@Controller
@RequestMapping("/users")
public class UserController {
private static final Logger log = LoggerFactory.getLogger(UserController.class);
@Resource(name = "userService")
private UserService userService;
@GetMapping("/form")
public String form() {
return "/user/form";
}
@PostMapping("")
public String create(@Valid UserDto userDto, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
List<ObjectError> errors = bindingResult.getAllErrors();
for (ObjectError error : errors) {
log.debug("error~~~ : {}", error.getDefaultMessage());
}
return "redirect:/users/form";
}
userService.add(userDto);
return "redirect:/login";
}
@GetMapping("/{id}/form")
public String updateForm(@LoginUser User loginUser, @PathVariable long id, Model model) {
log.debug("LoginUser : {}", loginUser);
log.debug("login id : {}", id);
log.debug("user test :", userService.findById(id));
model.addAttribute("user", userService.findById(id));
return "/user/updateForm";
}
@PutMapping("/{id}")
public String update(@LoginUser User loginUser, @PathVariable long id, UserDto target, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
List<ObjectError> errors = bindingResult.getAllErrors();
for (ObjectError error : errors) {
log.debug("user update error : {}", error.getDefaultMessage());
}
return "redirect:/users/{id}/form";
}
userService.update(loginUser, id, target);
return "redirect:/";
}
}