2. 목표
Vue.js 와 Spring Boot를 사용해서
빠르게 심플한 Admin(운영툴) 뼈대를 만들어 보는 것
관련 예제 소스 : https://github.com/kjs850/vue-admin
3. 개요
● Vue Cli 을 통한 프론트 페이지 작성
○ Vue Bootstrap
○ Vue Router
○ Axios
● Spring Boot를 통한 백엔드 API 작성
○ Mysql
○ Spring JPA
● Vue + Spring Boot 연동
● Vue 빌드된 파일 + Spring Boot로 서비스
4. 스프링 부트로 프로젝트 세팅
스프링 부트로 간단한 웹 환경 구성.
- Web, Rest Repository
- Thymeleaf
- JPA, Mysql
19. API를 통한 화면 구성
Axios - HTTP 클라이언트 라이브러리
https://www.npmjs.com/package/axios
http://vuejs.kr/update/2017/01/04/http-request-with-axios/
설치
메뉴1에 api를 통해 얻어온 데이터를 뿌려보자.
- Axios 사용
- 공개 API 사용
20. 해커뉴스 API
HNPWA API목록 : https://github.com/tastejs/hacker-news-pwas/blob/master/docs/api.md
테스트 할 api : https://api.hnpwa.com/v0/news/1.json
23. 스프링 부트와 vue 연동
vue빌드 파일을 스프링 부트가 바라보는 resource/static/ 쪽으로 연결해준다.
설정값 설명 : https://github.com/nicejade/awesome-vue-cli3-example/blob/master/vue.config.js 샘플 참조
vue.config.js 생성 후 아래와 같이 설정
spring.thymeleaf.prefix=classpath:/static/ 설정
기존 웹팩 devserver port를 8080(default) -> 3000 변
경
Proxy : 모든 요청을 localhost:8080 으로 연결
outputDir : vue에서 만든 파일들이 빌드해서 위치하
는 경로
27. 스프링부트 기동 후 페이지 확인
빌드된 vue로 만든 화면들이
스프링 부트로 서비스 가능.
28. Spring boot로 만든 User API와 연결하기
Mysql 테이블 하나 추가, JPA로 entity, repository, controller 를 통해 테이블 내용 가져오는 API 만들어보
자
User.java
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`user_id` varchar(255) COLLATE utf8mb4_bin NOT NULL,
`name` varchar(255) COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`id`)
)