본문 바로가기

SPRING27

[SPRING] HTTP 메세지 컨버터 Spring 사용 시 HTML 파일을 응답하는 게 아닌 HTTP API처럼 JSON 데이터를 HTTP메시지 바디에 입력하거나 문자열을 입력할 때 HTTP 메시지 컨버터를 사용하면 편리하다. 개인적인 학습의 정리글입니다. 스프링 MVC는 다음의 경우에 HTTP 메시지 컨버터를 적용한다. HTTP 요청 @RequestBody HttpEntity(RequestEntity) HTTP 응답 @ResponseBody HttpEntity(ResponseEntity) HTTP 메세지 컨버터 인터페이스를 보면 canRead(), canWrite()로 메세지 컨버터가 해당 클래스, 미디어 타입을 지원하는지 확인하고 read(), write() : 메시지 컨버터를 통해서 메세지를 읽고 쓰는 메소드 스프링에는 HTTP 메세지.. 2022. 4. 3.
[SPRING] HTTP 응답의 다양한 방법 HTTP 요청에 대한 응답을 처리하는 여러 방식과 HTTP 바디에 직접 원하는 데이터를 주입하여 응답하는 주제에 대한 학습내용을 정리합니다. 개인적인 학습의 정리 글입니다. 아래와 같이 컨트롤러에서 View(HTML파일)을 리턴하면 HTTP 응답 메시지 바디에 HTML 파일의 내용이 담겨 리턴됩니다. 이처럼 HTTP 응답 메세지에 원하는 데이터를 담는 다양한 방법들이 있습니다. @GetMapping("/admin/game/regist") public String gameRegistPage(HttpServletRequest reqeust) { return "game/gameRegist"; } 1. PrintWriter @GetMapping("/response-body-writer") public void .. 2022. 3. 30.
[SPRING] HTTP 요청 데이터 매핑(JSON) - 3 클라이언트에서 HTTP 요청을 통해 전달한 HTTP 메시지 바디의 JSON 형식의 데이터를 서버에서 매핑하는 방법에 대해 학습한 내용입니다. 개인적인 학습의 대한 정리 내용입니다. 1. ObjectMapper HttpServletRequest를 사용하여 HTTP 메시지 바디의 데이터를 읽어, 문자로 변환한 후 문자 형식의 JSON데이터를 Jackson 라이브러리인 ObjectMapper를 사용하여 자바 객체로 변환한다. 대상 자바 객체는 필드에 JSON 키 값과 동일한 이름의 필드데이터, getter, setter를 가지고 있어야한다. @PostMapping("/request-body-json") public void requestBodyJsonV1(HttpServletRequest request, Ht.. 2022. 3. 13.
[SPRING] HTTP 요청 데이터 매핑(단순 텍스트) - 2 클라이언트에서 HTTP 요청을 통해 전달한 HTTP 메시지 바디의 데이터를 서버에서 매핑하는 방법에 대해 학습한 내용입니다. 개인적인 학습의 대한 정리 내용입니다. GET 방식의 URL 쿼리 파라미터, POST 방식의 HTML Form 전송을 제외한 HTTP message body에 데이터를 직접 담아서 요청은 @RequestParam, @ModelAttribute 애노테이션을 사용한 매핑을 할 수 없습니다. 메시지 바디를 직접 조회하는 기능은 요청 파라미터를 조회하는 @RequestParam , @ModelAttribute 와는 전혀 관계가 없다 그렇다면 어떻게 매핑할 수 있을까? 1. HttpServletRequest.getInputStream HTTP 메시지 바디를 InputStream을 이용하여 .. 2022. 3. 12.