[SpringBoot] 게시글 등록 주요 애노테이션

Posted by nkjok
2025. 2. 7. 12:39 낙서장[1]/2. SpringBoot
반응형

@RequestBody

기능: 클라이언트에서 전송한 JSON 데이터를 DTO (Data Transfer Object)로 변환하여 컨트롤러 메서드의 매개변수로 전달합니다. 사용 예:

java
@PostMapping("/api/v1/posts")
public void createPost(@RequestBody PostDto postDto) {
    // JSON 데이터가 postDto로 변환되어 전달됨
}

@PathVariable

기능: URL 경로의 일부인 값을 메서드의 매개변수로 전달합니다. 사용 예:

java
@GetMapping("/api/v1/posts/{id}")
public Post getPost(@PathVariable Long id) {
    // URL의 {id} 값이 매개변수 id로 전달됨
}

@RequestParam

기능: 쿼리스트링의 값을 메서드의 매개변수로 전달합니다. 사용 예:

java
@GetMapping("/api/v1/posts")
public List<Post> getPosts(@RequestParam(required = false) String category) {
    // 쿼리스트링의 category 값이 매개변수로 전달됨
}

맞습니다, @RequestParam은 쿼리스트링의 값을 가져올 때 사용됩니다.

@Required

기능: 특정 필드나 메서드 매개변수가 필수임을 명시합니다. Spring에서는 @Autowired와 같이 의존성 주입에 사용될 수 있습니다. 사용 예:

java
@Required
private PostRepository postRepository;

@RequestHeader

기능: HTTP 요청 헤더의 값을 메서드의 매개변수로 전달합니다. 사용 예:

java
@GetMapping("/api/v1/posts")
public List<Post> getPosts(@RequestHeader("Authorization") String token) {
    // 요청 헤더의 Authorization 값을 매개변수로 전달함
}

 

반응형