티스토리 뷰

spring

@ModelAttribute, @RequestParam

tonirr 2020. 6. 2. 00:26

@ModelAttribute는 @RequestParam과 비슷한데 1:1로 parameter로 받을 경우 @RequestParam을 사용하고 DTO/VO로 받을 경우

@ModelAttribute로 받을 수 있다. validation 작업을 추가로 할 수 있다.

  • @ModelAttribute

    • 객체로 받을 수 있다.

  • @RequestParam

    • 쿼리스트링을 하나씩 바인딩 받을 수 있다.

@Slf4j 
@RestController 
@RequestMapping("/user") 
public class UserController { 
    @GetMapping("/insert") 
    public Object insertUser(@ModelAttribute("findUser") User user, BindingResult bindingResult){ 
        if(bindingResult.hasErrors()){ 
            log.info("binding error"); 
            return "invalidParam"; 
        } 
        if(user.getId() == 1){ 
            user.setLastName("yoon"); 
            user.setAge(28); 
            user.setLevel(Level.BASIC); 
            return user; 
        } 
        return null; 
    } 
    @GetMapping("/insert2") 
    public Object insertUser(@RequestParam int id, @RequestParam String firstName, @RequestParam String lastName){ 
        return "RequestParamBinding"; 
    } 
} 
@Getter 
@Setter 
@NoArgsConstructor 
@AllArgsConstructor 
class User{ 
    private int id; 
    private String firstName; 
    private String lastName; 
    private int age; 
    private Level level; 
} 
출처: https://coding-start.tistory.com/269 [코딩스타트]
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함