[SpringBoot] @어노테이션4

Oksun Noh·2024년 12월 24일
0

Spring & Spring Boot

목록 보기
4/6

@PathVariable, @RequestParam

  1. @PathVariable: URL 경로에 포함된 변수를 받아오는데 사용
  2. @RequestPara: HTTP 요청의 파라미터를 받아오는데 사용
    @PostMapping("/create/{id}")
    public String createAnswer(
            Model model,
            @PathVariable("id") Integer id,

			// POST 요청의 "content" 파라미터를 가져옴
			@RequestParam(value="content") String content) {

        Question question = this.questionService.getQuestion(id);

        return String.format("redirect:/question/detail/%s", id);
    }
  1. 참고사항
어노테이션쉽게데이터 출처용도
@RequestBody택배 상자를 열어 물건을 꺼낸다요청 본문 (JSON 등)복잡한 객체 데이터 받기
@ResponseBody포장된 택배를 손님에게 보낸다응답 본문데이터를 JSON 등으로 반환
@RequestParam주문서에서 특정 내용을 읽는다URL 쿼리 파라미터간단한 데이터 받기 (숫자/문자열)

@Valid

  1. 객체의 유효성 검사(Valiodation)을 수행할 때 사용
  2. 주로 MVC와 함께 사용하며, 클라이언트에서 전달된 데이터가 올바른지 자동으로 검사 하고, 문제가 있으면 에러를 처리할 수 있음
  3. BindingResult: Spring이 자동으로 생성해주는 변수로, 컨트롤러 메서드의 매개변수에 @Valid와 함께 사용될 때 자동으로 만들어 짐
@Controller
@RequestMapping("/user")
public class UserController {

    @PostMapping("/create")
    public String createUser(
            @Valid UserForm userForm, // 유효성 검증 수행
            BindingResult bindingResult) { // 검증 결과 저장 객체

        if (bindingResult.hasErrors()) {
            // 유효성 검증 실패시
            return "user-form"; // 입력 폼으로 다시 돌아감
        }
        return "redirect:/success";
    }
}

profile
저는 만두를 좋아합니다

0개의 댓글