TIL day 36 - 어노테이션

최병은·2024년 2월 15일
  1. @AuthenticationPrincipal

@AuthenticationPrincipal 어노테이션은 현재 로그인한 사용자의 정보를 주입해준다.


  1. @Valid
@PostMapping("/users/signup")
    public ResponseEntity<String> signup(@Valid @RequestBody UserSignupRequest request, BindingResult bindingResult) {

        String errorMessages = "";
        if (bindingResult.hasErrors()) {
            for (FieldError fieldError : bindingResult.getFieldErrors()) {
                errorMessages += fieldError.getField() + " : " + fieldError.getDefaultMessage() + "\n";
            }
            return new ResponseEntity<>(errorMessages, HttpStatus.BAD_REQUEST);
        }

        userService.signup(request);

        return ResponseEntity.ok("회원가입 성공");
    }

@Valid 어노테이션은 이 정보의 유효성을 검사하고, 검사 결과는 BindingResult에 담겨져 있다.


  1. @RequestBody, @ModelAttribute

@RequestBody와 @ModelAttribute는 클라이언트로부터 전송된 데이터를 컨트롤러 메소드에서 받아오는 데 사용되는 어노테이션이다.

@RequestBody는 주로 JSON이나 XML 형식의 데이터를 받을 때 사용되고,
@ModelAttribute는 HTML 폼이나 쿼리 문자열 형식의 데이터를 받을 때 사용된다.

profile
안녕하세요

0개의 댓글