본문 바로가기
스파르타 내배캠

[TIL] #31. @Annotation

by saemsaem 2024. 6. 4.


 

 [ Spring Annotation ] 

Spring의 다양한 기능

- logging
- @Component : Bean을 등록하기 위해 사용
- @RequestParam : 요청 파라미터를 받음

 

@Controller vs. @RestController

  • @Controller : view가 있는 경우에 사용
    • return값이 String이면 viewResolver에 의해 View Name으로 인식된다
  • @RestController : 응답한 data가 있는 경우에 사용
    • 대부분 이걸 사용함
    • 각 메서드마다 @ResponseBody를 추가하지 않아도 됨
  • @Mapping : @Target을 확인하면 메서드를 어느 위치에서 사용할 수 있는지 확인할 수 있다. 

 

@PathVariable

: URL에 전달된 값을 파라미터로 받아오는 역할 (path에 값을 안 넣어주면 → 404 error)

  • Restful API를 설계하는 것이 API의 기준!! ⇒ @PathVariable 사용 빈도가 높아졌다. 
  • 예시
    • postId글의 commentId 댓글 작성 : POST+ posts/{postId}/comments
    • postId글의 commentId 댓글 전체 조회 : GET+ posts/{postId}/comments
    • postId글의 commentId 댓글 단건 조회 : GET+ posts/{postId}/comments/{commentId}
    • postId글의 commentId 댓글 수정 : PUT+ posts/{postId}/comments/{commentId}
    • postId글의 commentId 댓글 삭제 : DELETE+ posts/{postId}/comments/{commentId}
  • 규칙
    • 1. 파라미터 변수명과 PathVariable 변수명이 같으면 속성값 생략 가능
    • 2. @PathVariable 다중 사용 가능 - 실제로 많이 사용함
//1. variable → data
@GetMapping("/path/{variable}")
public String pathVariable(@PathVariable("variable") String data) {
	// logic
	return "path-variable";
}

 

'스파르타 내배캠' 카테고리의 다른 글

[TIL] #33. ResponseEntity  (0) 2024.06.10
[TIL] #32. Spring Security  (0) 2024.06.05
[TIL] #30. Filter  (0) 2024.06.03
[TIL] #29. JWT  (0) 2024.06.03
[TIL] #28. 인증/인가  (0) 2024.05.30