본문 바로가기

Spring(JAVA Framework)32

Thymeleaf 사용법 1. 타임리프 사용 선언 2. 속성 변경 - th:href (1) 핵심 th:xxx가 붙은 부분은 서버사이드에서 렌더링 되고, 기존 것을 대체한다. th:xxx이 없으면 기존 html의 xxx속성이 그대로 사용된다. HTML을 파일로 직접 열었을 때, th:xxx가 있어도 웹 브라우저는 th: 속성을 알지 못하므로 무시한다. 따라서 HTML을 파일 보기를 유지하면서 템플릿 기능도 할 수 있다. (2) Example EX) href="../css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" href="value1"을 th:href="value2"의 값으로 변경한다. 타임리프 뷰 템플릿을 거치게 되면 원래 값을 th:xxx값으로 변경한다. 만약 값이 없다.. 2021. 9. 19.
HTTP Message Converter HTTP API처럼 JSON 데이터를 HTTP Message Body에서 직접 읽거나 쓰는 경우 HTTP Message Converter를 동작한다. ViewResolver 대신에 HttpMessageConverter가 동작 스프링 MVC는 다음의 경우에 HTTP Message Converter가 동작한다. HTTP 요청 : @RequestBody, HttpEntity(RequestEntity) HTTP 응답 : @ResonseBody, HttpEntity(ResponseEntity) 1. HTTP Message Converter Interface package org.springframework.http.converter; public interface HttpMessageConverter { bool.. 2021. 9. 18.
HTTP Response 1. Response data를 만드는 방법 3가지 (1) 정적 리소스 ex) 웹 브라우저에 정적인 HTML, css, js을 제공할 때는, 정적 리소스를 사용한다. (2) 뷰 템플릿 사용 ex) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. (3) HTTP 메시지 사용 HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 2. 정적 리소스 스프링 부트는 클래스 패스의 다음 디렉터리에 있는 정적 리소스를 제공한다. 정적 리소스 경로 : src/main/resources/static EX) 다음 경로에 파일이 들어 있다면 : src/main/resources/static/basic/hell.. 2021. 9. 18.
HTTP Request - (2) (feat. Request Message Body) Request Parameter와 다르게, HTTP Message Body를 통해 데이터가 직접 데이터가 넘어오는 경우 1. Text (1) HttpEntity /** * HttpEntity: HTTP header, body 정보를 편라하게 조회 * - 메시지 바디 정보를 직접 조회(@RequestParam X, @ModelAttribute X) * - HttpMessageConverter 사용 -> StringHttpMessageConverter 적용 * * 응답에서도 HttpEntity 사용 가능 * - 메시지 바디 정보 직접 반환(view 조회X) * - HttpMessageConverter 사용 -> StringHttpMessageConverter 적용 */ @PostMapping("/reques.. 2021. 9. 17.
HTTP Request - (1) (feat. Request Parameter) 1. Client에서 Server로 요청 데이터를 전달하는 경우 3가지 (1) GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 ex) 검색, 필터, 페이징 등에서 많이 사용하는 방식 (2) POST - HTML Form content-type : application/x-www-urlencoded 메시지 바디에 쿼리 파라미터 형식으로 전달 username=hello&age=20 ex) 회원 가입, 상품 주문, HTML Form 사용 (3) HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, .. 2021. 9. 16.
@RequestMapping 1. 기본 요청 package hello.springmvc.basic.requestmapping; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); /** * 기본 요청 * 둘다 허용 /hello-basic, /hello-basic/ * HTTP 메서드 모두 허용 GET, HEAD, POST, PUT, PATCH, DELETE */ @RequestMapping("/hello-b.. 2021. 9. 15.
반응형