Post

매개변수 애노테이션

@RequestParam

HTTP 요청의 쿼리 파라미터를 메서드의 매개변수로 주입합니다. 예를 들어, http://example.com/path?name=value와 같은 URL에서 name 파라미터 값을 메서드에 주입할 수 있습니다.

1
2
3
4
5
6
7
javaCopy code
@RequestMapping("/example")
public String exampleMethod(@RequestParam String name) {
    // name 파라미터 사용
    return "viewName";
}

@PathVariable

URI 템플릿 변수를 메서드의 매개변수로 주입합니다.

예를 들어, http://example.com/path/{id}와 같은 URL에서 {id} 값을 메서드에 주입할 수 있습니다.

1
2
3
4
5
6
7
javaCopy code
@RequestMapping("/example/{id}")
public String exampleMethod(@PathVariable Long id) {
    // id 변수 사용
    return "viewName";
}

@RequestBody

HTTP 요청의 본문을 메서드의 매개변수로 주입합니다.

주로 JSON 또는 XML 형식의 데이터를 객체로 변환할 때 사용됩니다.

1
2
3
4
5
6
7
javaCopy code
@RequestMapping("/example")
public String exampleMethod(@RequestBody MyObject myObject) {
    // myObject를 사용한 로직
    return "viewName";
}

@RequestHeader

HTTP 요청 헤더의 값을 메서드의 매개변수로 주입합니다.

특정 헤더 값을 가져와서 사용할 때 유용합니다.

1
2
3
4
5
6
7
javaCopy code
@RequestMapping("/example")
public String exampleMethod(@RequestHeader("User-Agent") String userAgent) {
    // userAgent 헤더 사용
    return "viewName";
}

@RequestAttribute

HTTP 요청의 속성(attribute) 값을 메서드의 매개변수로 주입합니다.

주로 인터셉터 등에서 설정한 요청 속성 값을 가져올 때 사용됩니다.

1
2
3
4
5
6
7
javaCopy code
@RequestMapping("/example")
public String exampleMethod(@RequestAttribute("attributeName") String attributeValue) {
    // attributeValue 사용
    return "viewName";
}

This post is licensed under CC BY 4.0 by the author.