Spring - InputStream(HTTP 메시지 바디 데이터 읽는 방법)

박민수·2023년 11월 14일

Spring

목록 보기
28/46
post-thumbnail

InputStream

요청 파라미터와 다르게, HTTP 메시지 바디를 통해 데이터가 직접 넘어오는 경우에는 @RequestParam, @ModelAttribute를 사용할 수 없다. (HTML Form 형식으로 전달되는 경우는 요청 파라미터로 인정됨)
InputStream을 사용하면 HTTP 메시지 바디의 데이터를 읽을 수 있다.

@Slf4j
@Controller
public class RequestBodyStringController {
    @PostMapping("/request-body-string")
    public void requestBodyString(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ServletInputStream inputStream = request.getInputStream();
        String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
        log.info("messageBody={}", messageBody);
        response.getWriter().write("ok");
    }
}

참조
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1

profile
안녕하세요 백엔드 개발자입니다.

0개의 댓글