|
| 1 | +# Spring Rest Api 만들기 프로젝트 |
| 2 | + |
| 3 | +### 0. 개요 |
| 4 | +- SpringBoot2 framework 기반에서 RESTful api 서비스를 Step by Step으로 만들어 나가는 프로젝트 |
| 5 | +- daddyprogrammer.org에서 연재 및 소스 Github 등록 |
| 6 | + - https://daddyprogrammer.org/post/series/springboot2%EB%A1%9C-rest-api-%EB%A7%8C%EB%93%A4%EA%B8%B0/ |
| 7 | + |
| 8 | +### 1. 개발환경 |
| 9 | +- Java 8~11 |
| 10 | +- SpringBoot 2.x |
| 11 | +- SpringSecurity 5.x |
| 12 | +- JPA, H2 |
| 13 | +- Intellij Community |
| 14 | + |
| 15 | +### 2. 프로젝트 실행 |
| 16 | +- H2 database 설치 |
| 17 | + - https://www.h2database.com/html/download.html |
| 18 | +- intellij lombok 플러그인 설치 |
| 19 | + - Preferences -> Plugins -> Browse repositories... -> search lombok -> Install "IntelliJ Lombok plugin" |
| 20 | +- Enable annotation processing |
| 21 | + - Preferences - Annotation Procesors - Enable annotation processing 체크 |
| 22 | +- build.gradle에 lombok 추가(Git을 받은경우 이미 추가되어있음) |
| 23 | + - compileOnly 'org.projectlombok:lombok:1.16.16' |
| 24 | +- 실행 |
| 25 | + - Run -> SpringBootApiApplication |
| 26 | +- Swagger |
| 27 | + - http://localhost:8080/swagger-ui.html |
| 28 | + |
| 29 | +### 3. DDL |
| 30 | +create table user ( |
| 31 | + msrl bigint not null auto_increment, |
| 32 | + name varchar(100) not null, |
| 33 | + password varchar(100), |
| 34 | + provider varchar(100), |
| 35 | + uid varchar(50) not null, |
| 36 | + primary key (msrl) |
| 37 | + ) engine=InnoDB; |
| 38 | + |
| 39 | +create table user_roles ( |
| 40 | + user_msrl bigint not null, |
| 41 | + roles varchar(255) |
| 42 | + ) engine=InnoDB; |
| 43 | + |
| 44 | + |
| 45 | +alter table user |
| 46 | +add constraint UK_a7hlm8sj8kmijx6ucp7wfyt31 unique (uid); |
| 47 | + |
| 48 | +alter table user_roles |
| 49 | + add constraint FKel3d4qj41g0sy1mtp4sh055g7 |
| 50 | + foreign key (user_msrl) |
| 51 | + references user (msrl); |
| 52 | + |
| 53 | +### 4. 목차 |
| 54 | +- SpringBoot2로 Rest api 만들기(1) – Intellij Community에서 프로젝트생성 |
| 55 | + - Document |
| 56 | + - https://daddyprogrammer.org/post/19/spring-boot1-start-intellij/ |
| 57 | +- SpringBoot2로 Rest api 만들기(2) – HelloWorld |
| 58 | + - Document |
| 59 | + - https://daddyprogrammer.org/post/41/spring-boot2-helloworld/ |
| 60 | +- SpringBoot2로 Rest api 만들기(3) – H2 Database 연동 |
| 61 | + - Document |
| 62 | + - https://daddyprogrammer.org/post/152/spring-boot2-h2-database-intergrate/ |
| 63 | + - Git |
| 64 | + - https://github.com/codej99/SpringRestApi/tree/feature/h2 |
| 65 | +- SpringBoot2로 Rest api 만들기(4) – Swagger API 문서 자동화 |
| 66 | + - Document |
| 67 | + - https://daddyprogrammer.org/post/313/swagger-api-doc/ |
| 68 | + - Git |
| 69 | + - https://github.com/codej99/SpringRestApi/tree/feature/swagger |
| 70 | +- SpringBoot2로 Rest api 만들기(5) – API 인터페이스 및 결과 데이터 구조 설계 |
| 71 | + - Document |
| 72 | + - https://daddyprogrammer.org/post/404/spring-boot2-5-design-api-interface-and-data-structure/ |
| 73 | + - Git |
| 74 | + - https://github.com/codej99/SpringRestApi/tree/feature/api-structure |
| 75 | +- SpringBoot2로 Rest api 만들기(6) – ControllerAdvice를 이용한 Exception처리 |
| 76 | + - Document |
| 77 | + - https://daddyprogrammer.org/post/446/spring-boot2-5-exception-handling/ |
| 78 | + - Git |
| 79 | + - https://github.com/codej99/SpringRestApi/tree/feature/controller-advice |
| 80 | +- SpringBoot2로 Rest api 만들기(7) – MessageSource를 이용한 Exception 처리 |
| 81 | + - Document |
| 82 | + - https://daddyprogrammer.org/post/499/springboot2-message-exception-handling-with-controlleradvice/ |
| 83 | + - Git |
| 84 | + - https://github.com/codej99/SpringRestApi/tree/feature/messagesource |
| 85 | +- SpringBoot2로 Rest api 만들기(8) – SpringSecurity를 이용한 인증 및 권한부여 |
| 86 | + - Document |
| 87 | + - https://daddyprogrammer.org/post/636/springboot2-springsecurity-authentication-authorization/ |
| 88 | + - Git |
| 89 | + - https://github.com/codej99/SpringRestApi/tree/feature/security |
| 90 | +- SpringBoot2로 Rest api 만들기(9) – Unit Test |
| 91 | + - Document |
| 92 | + - https://daddyprogrammer.org/post/938/springboot2-restapi-unit-test/ |
| 93 | + - Git |
| 94 | + - https://github.com/codej99/SpringRestApi/tree/feature/junit-test |
| 95 | +- SpringBoot2로 Rest api 만들기(10) – Social Login kakao |
| 96 | + - Document |
| 97 | + - https://daddyprogrammer.org/post/1012/springboot2-rest-api-social-login-kakao/ |
| 98 | + - Git |
| 99 | + - https://github.com/codej99/SpringRestApi/tree/feature/social-kakao |
0 commit comments