핸들러 메소드 1부 아규먼트와 리턴 타입

Jinseok Lee·2022년 11월 11일
1

WebRequest, NavtiveRequest

@GetMapping("/native-web-request")
public void nativeWebRequest(NativeWebRequest nativeWebRequest) {
    String contentType = nativeWebRequest.getHeader("Content-Type");
    String query = nativeWebRequest.getParameter("query");
    System.out.println("contentType : " + contentType);
    System.out.println("query : " + query);
}

@GetMapping("/web-request")
public void webRequest(WebRequest webRequest) {
    String contentType = webRequest.getHeader("Content-Type");
    String query = webRequest.getParameter("query");
    System.out.println("contentType : " + contentType);
    System.out.println("query :  " + query);
}

간단하게 사용해 보았다.

Locale, TimeZone, ZoneId

LocaleResolver가 분석한 요청의 Locale관련 정보

@GetMapping("/locale")
public void locale(Locale locale, TimeZone timeZone, ZoneId zoneId) {
    System.out.println("locale : " + locale);
    System.out.println("timeZone: " + timeZone);
    System.out.println("zoneId : " + zoneId);
}
curl -XGET -H 'Content-Type: application/json' 'http://localhost:8080/locale'

locale, timeZone, zoneId정보를 출력하는 컨트롤러를 작성하고 요청을 날려보았다.

정상적으로 현재 locale정보를 분석해주는걸 확인할 수 있다.

ResponseEntity

@GetMapping("/hello")
public ResponseEntity<String> getHello() {
    return ResponseEntity
            .status(HttpStatus.OK)
            .body("hello");
}

응답헤더와 바디를 동시에 설정이 가능하다.
응답 바디는 ResponseEntity<?> 타입에 맞게 설정해주어야 한다.

profile
전 위메프, 이직준비중

2개의 댓글

comment-user-thumbnail
2022년 11월 11일

getHello 변수명 수정 부탁드려용.

1개의 답글