일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코드트리
- 서블릿
- 오버라이딩
- 오블완
- 코드트리조별과제
- 의존관계
- JSON
- 추상클래스
- 테스트코드
- fielderror
- 코딩테스트
- DI
- 스프링컨테이너
- ocp
- html form
- objecterror
- HttpServletResponse
- 싱글톤
- @configuration
- 백준
- 스프링
- 프록시
- java
- 다형성
- 참조변수
- 인터페이스
- 티스토리챌린지
- equals()
- http 메시지 컨버터
- 김영한
- Today
- Total
목록TIL/김영한의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (34)
minOS
요청 매핑 핸들러 어댑터 요청 맵핑 핸들러 어댑터란?: 스프링 프레임워크에서 클라이언트의 HTTP 요청을 적절한 핸들러 메서드로 연결해주는 중요한 구성 요소.핸들러 어댑터의 역할과 중요성: 다양한 핸들러를 유연하게 지원하고, 요청 처리 로직의 확장성을 보장.ArgumentResolver애노테이션 기반 컨트롤러는 `HttpServletRequest`, `Model`뿐만 아니라 `@RequestParam`, `@ModelAttribute` 같은 애노테이션, 그리고 `@RequestBody`, `HttpEntity`와 같은 HTTP 메시지 처리 방식 등 매우 다양한 파라미터를 활용할 수 있다. 이러한 유연한 파라미터 처리가 가능한 이유는 바로 `ArgumentResolver` 덕분이다.애노테이션 기반 컨트롤..
HTTP 메시지 컨버터뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리하다.@ResponseBody 사용 원리1) HTTP의 BODY에 문자 내용을 직접 반환2)`viewResolver` 대신에 `HttpMessageConverter` 가 동작3) 기본 문자처리: `StringHttpMessageConverter`4) 기본 객체처리: `MappingJackson2HttpMessageConverter`5) byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음 참고: 응답의 경우 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반..
HTTP 응답 - HTTP API, 메시지 바디에 직접 입력HTTP API를 제공할 때는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 이 경우 정적 리소스나 뷰 템플릿을 거치지 않고, 서버가 직접 HTTP 응답 메시지를 생성하여 클라이언트에 전달한다.1) 문자열 응답을 직접 HttpServletResponse 객체를 사용해 전송하는 방법@GetMapping("/response-body-string-v1") public void responseBodyV1(HttpServletResponse response) throws IOException { response.getWriter().write("ok"); } 서블릿..
HTTP 응답 - 정적 리소스, 뷰 템플릿스프링(서버)에서 응답 데이터를 만드는 방법은 크게 3가지이다.1) 정적 리소스 예) 웹 브라우저에 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다.2) 뷰 템플릿 사용 예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다.3) HTTP 메시지 사용 예) HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 정적 리소스스프링 부트는 클래스패스의 다음 디렉토리에 있는 정적 리소스를 제공한다./static , /public , /resources ,/META-INF/resourcessrc/main/resourc..
HTTP 요청 메시지 - JSON이번에는 HTTP API에서 주로 사용하는 JSON 데이터 형식을 조회해보자.기존 서블릿에서 사용했던 방식과 비슷하게 시작해보자./** * 이 컨트롤러는 JSON 형식의 요청 본문을 처리하는 다양한 방법을 보여줍니다. * 예시 요청 본문: {"username":"hello", "age":20} * Content-Type: application/json */1)HttpServletRequest와 HttpServletResponse를 사용하여 JSON 요청 본문을 읽고 처리하는 방법 @PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpSe..
HTTP 요청 메시지 - 단순 텍스트HTTP message body에 데이터를 직접 담아서 요청- HTTP API에서 주로 사용, JSON, XML, TEXT- 데이터 형식은 주로 JSON 사용- POST, PUT, PATCH 요청 파라미터와 다르게, HTTP 메시지 바디를 통해 데이터가 직접 넘어오는 경우는 `@RequestParam` , `@ModelAttribute` 를 사용할 수 없다. 1) HttpServletRequest와 HttpServletResponse를 사용하여 요청 본문을 읽는 방법 @PostMapping("/request-body-string-v1") public void requestBodyStringV1(HttpServletRequest request, HttpServlet..