2019. 4. 24. 13:30ㆍ[공부] 영상/스프링 부트 강의
WebJar : 프론트엔드 라이브러리를 jar 형태로 패키징해놓은 형태.
JQuery 같은 것을 메이븐을 통해서 다운 받을 수 있다.
메이븐으로 설치한 JQuery를 프론트엔드에서 라이브러리를 사용할 수 있다.
추가한 라이브러리는 webjars/ 이하 경로를 통해서 가져올수있다.
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.4.0</version>
</dependency>
HTML JQuery 선언
<script type-"javascript" src="/webjars/jquery/3.4.0/jquery.min.js" />
스프링 부트에서 캐시에 자유롭게 변경된 내용을 계속 반영해주는 방법
방법 1. 버전 agnostirng URL :
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator-core</artifactId>
</dependency>
방법 2. 캐시 버스팅 : 캐시될 파일 이름의 뒤에다 해쉬코드값을 붙여서 캐시에 독립적으로 동작하도록 한다.
# Cache busting properties
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
Welcome page
index.html을 맨 처음 찾는다.
존재하지 않으면 index template을 찾는다. (템플릿 : 타임리프, 프리마커, 핸들러 등...)
단 Welcome page 의 동작은 루트로 맵핑한 핸들러 맵핑(GetMapping)이 없을 때 동작한다.
Favicon
브라우저 탭에 있는 아이콘 설정
설정된 static 파일 위치에 "favicon.ico" 파일이 있으면 알아서 등록해준다.
Content 협상
kok202 아이디의 유저 정보를 json 으로 리턴하는 코드가 있다고하자 (@GetMapping("/user/{userId}"))
kok202 아이디의 유저 정보를 xml 으로 받고싶다.
그래서 "curl -GET /user/kok202.xml" 에 대응하는 맵핑을 만드는 것은 부적절하다.
이 방법을 suffix pattern 이라고 하고 옛날 코드의 잔해다.
스프링은 suffix pattern을 기본으로 제공하지 않는다.
만약 꼭 suffix pattern을 사용하고 싶다면 아래 설정을 주자.
spring.mvc.contentnegotiation.favor-path-extension=true
spring.mvc.pathmatch.use-registered-suffix-pattern=true
가능하면 아래 방법중 하나를 쓰자
방법 1. "curl -GET /user/kok202?format=xml"
방법 2. "curl -GET --header "Accept:application/xml" /user/kok202"
'[공부] 영상 > 스프링 부트 강의' 카테고리의 다른 글
스프링 부트 강의 정리 (19~20 : 테스트, MockBean) (0) | 2019.04.28 |
---|---|
스프링 부트 강의 정리 (16~18 : 템플릿 엔진, 에러 핸들링, 데이터 바인딩) (0) | 2019.04.27 |
스프링 부트 강의 정리 (13~14 : HttpMessageConverter, Static content) (0) | 2019.04.21 |
스프링 부트 강의 정리 (11~12 : Profile, Log) (0) | 2019.04.21 |
스프링 부트 강의 정리 (8~10 : Properties 읽어들이기) (0) | 2019.04.21 |