일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 테스트코드
- 스프링
- 추상클래스
- 오버라이딩
- ocp
- 티스토리챌린지
- objecterror
- 참조변수
- JSON
- DI
- equals()
- HttpServletResponse
- 의존관계
- fielderror
- http 메시지 컨버터
- 김영한
- 코드트리조별과제
- 백준
- 인터페이스
- 싱글톤
- 오블완
- @configuration
- 스프링컨테이너
- 서블릿
- 코드트리
- 다형성
- html form
- 코딩테스트
- 프록시
- java
- Today
- Total
목록전체 글 (168)
minOS
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..
@RequestParam스프링이 제공하는 `@RequestParam` 을 사용하면 요청 파라미터를 매우 편리하게 사용할 수 있다. 1) @RequestParam 어노테이션을 사용한 요청 파라미터 처리 예제 @ResponseBody @RequestMapping("/request-param-v2") public String requestParamV2( @RequestParam("username") String myName, @RequestParam("age") int myAge) { // 로그로 myName과 myAge 출력 log.info("username = {} , age = {}", myName, myAge); r..