-
@RequestParam 생략 가능Spring 2023. 3. 17. 15:29
@RequestParam은 어노테이션을 생략 가능하다. 대신에 변수 명이 요청 파라미터 명과 같아야 한다.
@GetMapping("/boardDelete") public String boardDelete(Integer id){ boardService.boardDelete(id); return "redirect:/boardList"; }
위 코드를 보면 분명히 파라미터로 넘어온 id 값을 사용해서 게시글을 제거하는 것일 텐데 @RequestParam이 제거되어있다. 만약 @RequestParam 어노테이션을 제거해도 되는 사실을 모른다면 인자로 Integer id로만 선언을 해줬는데 정상적으로 내가 원하는 게시글이 삭제될 수 있는 이유를 알지 못할 것이다.
위 코드를 조금 더 상세하게 선언해 보자면
@GetMapping("/boardDelete") public String boardDelete(@RequestParam("id") Integer id){ boardService.boardDelete(id); return "redirect:/boardList"; }
하지만, 실질적인 View를 생성하지 않고(백엔드 업무이기 때문에) json 방식으로 controller에서 데이터 삭제만 테스트하는 형식으로 개발한다면 컨트롤러는 아래와 같을 것이다.
@DeleteMapping("/posts/{boardId}") public void delete(@PathVarivable Integer boardId){ boardService.delete(boardId); }
@PathVariable이 선언되지 않으면
위와 같은 컴파일 에러가 발생한다.
'Spring' 카테고리의 다른 글
Controller, ResController 차이 (0) 2023.03.18 @ControllerAdvice, @ExceptionHanlder (0) 2023.03.18 AnnotationProcessor (0) 2023.03.15 @PathVariable (0) 2023.01.30 @BeforeEach (0) 2023.01.30