Notice
Recent Posts
Recent Comments
Link
개발자는 기록이 답이다
패스트캠퍼스 환급챌린지 25일차 미션 (2월 25일) : Spring Webflux 완전 정복 : 코루틴부터 리액티브 MSA 프로젝트까지 강의 후기 본문
패스트캠퍼스
패스트캠퍼스 환급챌린지 25일차 미션 (2월 25일) : Spring Webflux 완전 정복 : 코루틴부터 리액티브 MSA 프로젝트까지 강의 후기
slow-walker 2024. 2. 25. 22:13HttpHandler
- ServerHttpRequest와 ServerHttpResponse를 인자로 받고
- 응답을 돌려줘야 하는 시점을 Mono로 반환하는 함수형 인터페이스

HttpHandler를 통해 ServerHttpRequest로 요청을 확인할 수 있을 것이고, ServerHttpResponse로 원하는 결과를 내보낼 수 있다.
Mono의 void로 값을 반환함으로써 특정 시점을 알려줄 수 있다
그렇다면 ServerHttpRequest와 ServerHttpResponse에 대해서 알아보자.
ServerHttpRequest와 ServerHttpResponse

ServerHttpRequest와 ServerHttpResponse는 각각 ReactiveHttpInputMessage와 ReactiveHttpOutputMessage를 상속하고 있고 HttpRequest도 상속하고 있다.
이렇게 각각은 HttpMessage라는 인터페이스를 상속한다. 그렇다면 이 인터페이스만 살펴보면 어떤 메소드를 가질지 살펴볼 수 있다.
ServerHttpRequest
- getPath: query를 포함하지 않는 구조화된 path 정보 제공
- getQueryParams: decoded된 query parameter map
- getCookies:클라이언트가전달한읽기만가 능한쿠키map제공
- mutate: uri, path, header 등 을 변경할 수 있는 ServerHttpRequest builder 제공
- getBody:클라이언트가전달한request body를 Flux<DataBuffer> 형태로 수신. Flux 이기 때문에 여러 개의 DataBuffer 전달 가능
- getHeaders: HttpHeaders 객체에 접근 가 능. HttpHeaders에서 header 추가, 수정, 삭 제기능제공
- getMethod: http 요청 method
- getURI: query string을 포함한 uri 정보를 제공
( 강의에서 나오는 내용이랑, 실제로 내가 직접 내부 구조 파본거랑 왜 메소드가 다른걸까..?
강의에서는 getQueryParams, getCookies, mutate 가 있지만, 내가 찾아봤을때는 다른 메소드가 있다. )
4




※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/48sS29N