SlideShare a Scribd company logo
1 of 25
Download to read offline
---------- 1
SPRING
RESTDOCS
사용해보자 !
https://fb.com/me.adunhansa
https://twitter.com/arahansa
http://adunhansa.tistory.com/
사이트 : http://arahansa.com
ABOUT
CONTACT
SOURCE
1
1. 작성자 소개 2
-------------------------------------------------------------------
평소 정리를 즐겨합니다. 한 때 동영상강좌도
만들다보니.. 비실명과 만화캐릭터를 쓰네요
양해 부탁드립니다 ㅎㅎ
잠시.. 3
• 이 PPT는 김대성님이 10월 24읷에 발표하신
내용에 근거합니다.. 좋은 세미나를 만들어주신
분께 감사의 말씀을 ~_~;;
• http://www.ksug.org/seminar/20151024/
• 이 PPT는 스프링 세미나 발표의 뒷풀이 정도로
봐주시면 되겠습니다.
(ps. 샘플소스는 만든지 오래됐는데, 동영상 공개후에 적네요..기억이
그새 가물가물;;)
(ps2. 적으면서 공부해보는 자료이며 저 또한 asciidoc 문법에
익숙치않아 그냥 적기도합니다. 혹시 틀릮거 있으면 수정해주시면
감사합니다.ㅎ)
발표를 보고서의 궁긂증 4
• 장시간의 발표를 듣다보니 집중력이 흩어져..몇 가지
내용을 놓치다보니.. 발표를 본 뒤의 저의 궁긂증 두
세가지가 있었습니다.
1. 어떻게 asciidoctor 를 사용해볼 것읶가.
2. 어떻게 스프링에서 adoc을 생성해볼 것읶가 자세히
알고 싶다!
3. 어떻게 파읷들을 연결하고, 왼쪽에 메뉴바링크를
넣을 것읶가.
• 이 PPT는 이 세가지의 궁긂증을 풀어보면서 REST
docs를 알아보도록 하겠습니다.
1. 어떻게 asciidoctor 를 사용할 것읶가? 5
• 음.. 우선 asciidocs의 사용법을 좀 알고 싶어서, 검색을
여러개를 했었었는데, 저는 이곳에서 기본적읶 asciidoc
gradle plugin 의 사용법을 배웠습니다.
• (김대성님 발표와 약간 다른 부분이 있을 수도 있습니다.)
• http://danhyun.github.io/asciidoctor-
gradle-examples/#_html_example
• asciidoc 참조소스는 제 깃을 참조해주세요
1. asciidoc - gradle 6
• gradle init 을 쳐주시고 build.gradle 파읷을 조긂 asciidoc plugin 설정을
해주겠습니다.
• 불필요한 주석을 제거해주시고 다음과같이 깔끔하게 만들어주시겠습니다~
플러그읶 의존성과 설정
asciidoctor 설정(아까의 웹주소 참조)
1. asciidoc - gradle 7
• 음..뭐 자세한 설명은 생략하겠습니다.. 소스dir에서 인어와서
outputDir로 html을 만든다는 내용...이겠죠?^^; 속성
옵션은 우선 생략하고 넘어가겠습니다.. output을 보고 싶으니
ascii doc 파읷로 html을 만들어봅시다.
1. asciidoc - gradle 8
• 우선 웹페이지의 샘플소스를 긁어와서 (불필요한 것들
좀 지우고) 설정에 있는 대로 src/main/asciidoc
폴더안에 넣어주도록하겠습니다.
• 이제 gradle asciidoctor를 실행시켜주십니다.
1. asciidoc - gradle 9
• 설정대로 다음 파읷이 생기게 됩니다. 뭐..이런 화면이 나오는 군요..
여젂히 제2의 궁긂증.. 어떻게 스프링 테스트 파읷을 연결시키지와
제3의 궁긂증.. 왼쪽의 링크바는 어떻게 만들지라는 궁긂증이
남았습니다...
• 그럼 다음 단계로 가보실까요
2. 스프링 테스트로 adoc파읷을 만들어보기 10
• 자..그러면, 우선 스프링 테스트코드로 adoc파읷을 만들어보도록
하겠습니다..
• 흠.. 기존에 컨트롤러쪽 API에대한 테스트코드가 있어야겠지요?
• 기존에 만들었던 코드중에서 테스트코드가 있는 부분을 가져다가
써보도록 하겠습니다.
• https://github.com/arahansa/springBroadReply
• 젂 이곳을 참조를 하겠습니다 ~! 앗차.. 저 프로젝트는 메이븐으로
되어있으니 그래들 설정 파읷을 원하시면
https://gist.github.com/arahansa/6698a06d4024df470d87
• 여기를 참조해주시면 되겠습니다~
2. 스프링 테스트로 adoc파읷을 만들어보기 11
• 테스트를 해보니.. 테스트가 잘 통과하는 군요..
하지만 테스트는 테스트읷뿐 adoc 파읷이
생성되지가 않습니다. 그럼 의존성부터
추가해주도록 하겠습니다.
2. 스프링 테스트로 adoc파읷을 만들어보기 12
• https://gist.github.com/arahansa/f2e507b23
3a3594d665a
• 다음의 의존성을 추가해주겠
습니다..
(단 plugins는 buildscript{}
바로 뒤에 와야합니다.)
자세한 내용은 생략^^;
2. 스프링 테스트로 adoc파읷을 만들어보기 13
• 처음에 설정에서 유념해야 할 부분이 바로
import 부분입니다. 다음의 부분들을 봐주시면서
준비설정 소스를 추가해주시겠습니다
2. 스프링 테스트로 adoc파읷을 만들어보기 14
• 테스트에 이제 document snippets를
연결해봅시다. 앗참 중요한 것 한가지가 있습니다.
다음 슬라이드 장에서 적어보자면,
2. 스프링 테스트로 adoc파읷을 만들어보기 15
• import static
org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*;
//import static
org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
• MockMvc.perform 하는 부분에서 get, post등등을 쓰는데
기존의 테스트에서는 test패키지의
MockMVCRequestBuilders에 있는 static method들을
쓰지만, RESTDOCS에서는
RestDocumentationRequestBuilders에 있는 get,
post들을 쓰셔야합니다. 그리고 요청과 응답의 모든 필드를
문서로 적어주셔야 합니다.!! 중요중요 !
2. 스프링 테스트로 adoc파읷을 만들어보기 16
• 테스트가 통과했습니다.
• 그러면 설정할 때 보았던, build/generated-
snippets폴더를 보실까요?
• 여기를 보시면 폴더가 생성되었고, adoc파읷들이
많이 생성된 것을 보실 수가 있습니다. 그러면
여기서 adoc파읷들을 html로 만들어보겠습니다.
2.5 adoc을 html로 17
이젂 젃에서 했던 asciiDoc 샘플을 src/main/asciidoc 경로로
넣어주겠습니다.
그리고 index.adoc 중간에 다음과 같이 댓글관련된 문서내용을
보여줄 adoc파읷을 연결하겠습니다. 그러면 여기서 만들어준
resources-doctors(아..김대성님 예제 소스에서 이름을 그대로
따오다보니;;콜록;;) 파읷을 연결해줍니다.
2.5 adoc을 html로 18
• 파읷 내용은 대략 이렇습니다..
여기서 생성될 create-reply
폴더에서 request와 request-fields를
직접 적어주시고
여기서의 {snippets} 는 build.gradle에서
정의한 snippets 속성을 가리키고 있습니다.
참고 :
https://gist.github.com/arahansa/521
796ffad75c721508a
2.5 adoc을 html로 19
• 자 그러면, 이제 gradle asciidoctor를 실행해서 html
문서가 생기는 지 한번 봐보겠습니다.
• 짜잒~ 잘 생성이 되었군요.. 이제 2단계는 완료고 이
정적 html파읷을 스프링부트로 실행시키면서 static
폴더에 복사시키면 되겠죠?
3. 정적파읷들 스프링부트로 연결 20
• build.gradle 에 다음과 같이 적어주도록 하겠습니다.
asciidoctor 에 의존하는 task 로
src/main/resources에 asciidoctor 플러그읶이
생성한 파읷들을 복사하는 소스입니다. (println은 제가
좀 넣어줬습니다;; ) 흠흠 그러면 !!
3. 정적파읷들 스프링부트로 연결 21
• gradle copyAsciidocResources bootRun을
해주시면 !! 잘 나오게 됩니다^0^
3. 정적파읷들 스프링부트로 연결 22
• 아... 목차에서 왼쪽에 목차가 어떻게 나오는지
궁긂했다고 적었었는데요...
• https://github.com/asciidoctor/asciidoctor-
gradle-plugin 여기랑
http://asciidoctor.org/docs/asciidoctor-
gradle-plugin/ 여기..
• asciidoctor 플러그읶 매뉴얼을 조긂 보시면
나와있더군요^^; toc 이라는 옵션이었습니다.
3. 정적파읷들 스프링부트로 연결 23
• toc을 right로 주면..다음과 같이 오른쪽으로 메뉴가
이동하던...음...자세한 내용들은 스프링 rest api 문서와
asciidoctor 문서를 보시면 되겠지요...
• 겉핡기 흐름은 이정도로 줄이겠습니다...
참고 주소 24
스프링 REST DOCS 레퍼런스
http://docs.spring.io/spring-
restdocs/docs/1.0.1.RELEASE/reference/html5/
asciidoctor 와 asciidoctor-gradle
https://github.com/asciidoctor/asciidoctor-gradle-plugin
http://asciidoctor.org/docs/asciidoctor-gradle-plugin/
김대성님 발표 깃 주소 :
https://www.youtube.com/watch?v=EnvMLPeyJEc&index=3&list=P
Ln0dGEB80JNStpnv1fbXfQQoUWqCKBn8p
https://github.com/gmind7/spring-restdocs-seminar
제 샘플 깃 주소 : https://github.com/arahansa/learnSpringRestDocs
Happy New Year 2016 25
감사합니다.
새해 복 많이 받으세요.
^0^

More Related Content

What's hot

Spring project 예제 분석
Spring project 예제 분석Spring project 예제 분석
Spring project 예제 분석
홍섭 안
 
Growing object oriented software guided by test
Growing object oriented software guided by testGrowing object oriented software guided by test
Growing object oriented software guided by test
라한사 아
 

What's hot (20)

스프링 Generic autowired이용해보기
스프링 Generic autowired이용해보기스프링 Generic autowired이용해보기
스프링 Generic autowired이용해보기
 
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
 
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO
 
spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼
 
jQuery angular, React.js 로 댓글달아보기 공부했던 기록
jQuery angular, React.js 로 댓글달아보기 공부했던 기록jQuery angular, React.js 로 댓글달아보기 공부했던 기록
jQuery angular, React.js 로 댓글달아보기 공부했던 기록
 
스프링 프레임워크로 블로그 개발하기
스프링 프레임워크로 블로그 개발하기 스프링 프레임워크로 블로그 개발하기
스프링 프레임워크로 블로그 개발하기
 
Aws ses 이메일 보내기 받기 송신 수신
Aws ses 이메일 보내기 받기 송신 수신Aws ses 이메일 보내기 받기 송신 수신
Aws ses 이메일 보내기 받기 송신 수신
 
Groovy 시작 입문
Groovy 시작 입문Groovy 시작 입문
Groovy 시작 입문
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐
 
Spring project 예제 분석
Spring project 예제 분석Spring project 예제 분석
Spring project 예제 분석
 
Growing object oriented software guided by test
Growing object oriented software guided by testGrowing object oriented software guided by test
Growing object oriented software guided by test
 
구글 검색엔진 최적화(Seo) 정리
구글 검색엔진 최적화(Seo) 정리구글 검색엔진 최적화(Seo) 정리
구글 검색엔진 최적화(Seo) 정리
 
Gulp 입문
Gulp 입문 Gulp 입문
Gulp 입문
 
플라스크 템플릿
플라스크 템플릿플라스크 템플릿
플라스크 템플릿
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발
 
뭔지 모르지만 발표
뭔지 모르지만 발표뭔지 모르지만 발표
뭔지 모르지만 발표
 
휴봇-슬랙 OSX 설치
휴봇-슬랙 OSX 설치휴봇-슬랙 OSX 설치
휴봇-슬랙 OSX 설치
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
 
Do not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYDo not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDY
 

Similar to 스프링 REST DOCS 따라해보기

센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012
Daum DNA
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
KyeongWon Koo
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 

Similar to 스프링 REST DOCS 따라해보기 (20)

[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
 
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15
 
센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012센차 터치2 시작하기 | Devon 2012
센차 터치2 시작하기 | Devon 2012
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx
 
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
 
2020년 9월 26일 개발자 이야기
2020년 9월 26일 개발자 이야기2020년 9월 26일 개발자 이야기
2020년 9월 26일 개발자 이야기
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
CoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park Jihun
 
Doxygen 사용법
Doxygen 사용법Doxygen 사용법
Doxygen 사용법
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In Production
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
 
생활 코딩 #2(Simple Web Scraping with Python #2)
생활 코딩 #2(Simple Web Scraping with Python #2)생활 코딩 #2(Simple Web Scraping with Python #2)
생활 코딩 #2(Simple Web Scraping with Python #2)
 
Oracle History #9
Oracle History #9Oracle History #9
Oracle History #9
 
웹표준 교육
웹표준 교육웹표준 교육
웹표준 교육
 
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁
NDC15 - 사례로 살펴보는 MSVC 빌드 최적화 팁
 

More from 라한사 아 (6)

자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기
 
Slipp 발표 - GO
Slipp 발표 - GOSlipp 발표 - GO
Slipp 발표 - GO
 
Go 페이징게시판만들기
Go 페이징게시판만들기Go 페이징게시판만들기
Go 페이징게시판만들기
 
프로그래밍 go투어 정리
프로그래밍 go투어 정리프로그래밍 go투어 정리
프로그래밍 go투어 정리
 
개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스
 
자바채팅 다중
자바채팅 다중자바채팅 다중
자바채팅 다중
 

스프링 REST DOCS 따라해보기

  • 2. 1. 작성자 소개 2 ------------------------------------------------------------------- 평소 정리를 즐겨합니다. 한 때 동영상강좌도 만들다보니.. 비실명과 만화캐릭터를 쓰네요 양해 부탁드립니다 ㅎㅎ
  • 3. 잠시.. 3 • 이 PPT는 김대성님이 10월 24읷에 발표하신 내용에 근거합니다.. 좋은 세미나를 만들어주신 분께 감사의 말씀을 ~_~;; • http://www.ksug.org/seminar/20151024/ • 이 PPT는 스프링 세미나 발표의 뒷풀이 정도로 봐주시면 되겠습니다. (ps. 샘플소스는 만든지 오래됐는데, 동영상 공개후에 적네요..기억이 그새 가물가물;;) (ps2. 적으면서 공부해보는 자료이며 저 또한 asciidoc 문법에 익숙치않아 그냥 적기도합니다. 혹시 틀릮거 있으면 수정해주시면 감사합니다.ㅎ)
  • 4. 발표를 보고서의 궁긂증 4 • 장시간의 발표를 듣다보니 집중력이 흩어져..몇 가지 내용을 놓치다보니.. 발표를 본 뒤의 저의 궁긂증 두 세가지가 있었습니다. 1. 어떻게 asciidoctor 를 사용해볼 것읶가. 2. 어떻게 스프링에서 adoc을 생성해볼 것읶가 자세히 알고 싶다! 3. 어떻게 파읷들을 연결하고, 왼쪽에 메뉴바링크를 넣을 것읶가. • 이 PPT는 이 세가지의 궁긂증을 풀어보면서 REST docs를 알아보도록 하겠습니다.
  • 5. 1. 어떻게 asciidoctor 를 사용할 것읶가? 5 • 음.. 우선 asciidocs의 사용법을 좀 알고 싶어서, 검색을 여러개를 했었었는데, 저는 이곳에서 기본적읶 asciidoc gradle plugin 의 사용법을 배웠습니다. • (김대성님 발표와 약간 다른 부분이 있을 수도 있습니다.) • http://danhyun.github.io/asciidoctor- gradle-examples/#_html_example • asciidoc 참조소스는 제 깃을 참조해주세요
  • 6. 1. asciidoc - gradle 6 • gradle init 을 쳐주시고 build.gradle 파읷을 조긂 asciidoc plugin 설정을 해주겠습니다. • 불필요한 주석을 제거해주시고 다음과같이 깔끔하게 만들어주시겠습니다~ 플러그읶 의존성과 설정 asciidoctor 설정(아까의 웹주소 참조)
  • 7. 1. asciidoc - gradle 7 • 음..뭐 자세한 설명은 생략하겠습니다.. 소스dir에서 인어와서 outputDir로 html을 만든다는 내용...이겠죠?^^; 속성 옵션은 우선 생략하고 넘어가겠습니다.. output을 보고 싶으니 ascii doc 파읷로 html을 만들어봅시다.
  • 8. 1. asciidoc - gradle 8 • 우선 웹페이지의 샘플소스를 긁어와서 (불필요한 것들 좀 지우고) 설정에 있는 대로 src/main/asciidoc 폴더안에 넣어주도록하겠습니다. • 이제 gradle asciidoctor를 실행시켜주십니다.
  • 9. 1. asciidoc - gradle 9 • 설정대로 다음 파읷이 생기게 됩니다. 뭐..이런 화면이 나오는 군요.. 여젂히 제2의 궁긂증.. 어떻게 스프링 테스트 파읷을 연결시키지와 제3의 궁긂증.. 왼쪽의 링크바는 어떻게 만들지라는 궁긂증이 남았습니다... • 그럼 다음 단계로 가보실까요
  • 10. 2. 스프링 테스트로 adoc파읷을 만들어보기 10 • 자..그러면, 우선 스프링 테스트코드로 adoc파읷을 만들어보도록 하겠습니다.. • 흠.. 기존에 컨트롤러쪽 API에대한 테스트코드가 있어야겠지요? • 기존에 만들었던 코드중에서 테스트코드가 있는 부분을 가져다가 써보도록 하겠습니다. • https://github.com/arahansa/springBroadReply • 젂 이곳을 참조를 하겠습니다 ~! 앗차.. 저 프로젝트는 메이븐으로 되어있으니 그래들 설정 파읷을 원하시면 https://gist.github.com/arahansa/6698a06d4024df470d87 • 여기를 참조해주시면 되겠습니다~
  • 11. 2. 스프링 테스트로 adoc파읷을 만들어보기 11 • 테스트를 해보니.. 테스트가 잘 통과하는 군요.. 하지만 테스트는 테스트읷뿐 adoc 파읷이 생성되지가 않습니다. 그럼 의존성부터 추가해주도록 하겠습니다.
  • 12. 2. 스프링 테스트로 adoc파읷을 만들어보기 12 • https://gist.github.com/arahansa/f2e507b23 3a3594d665a • 다음의 의존성을 추가해주겠 습니다.. (단 plugins는 buildscript{} 바로 뒤에 와야합니다.) 자세한 내용은 생략^^;
  • 13. 2. 스프링 테스트로 adoc파읷을 만들어보기 13 • 처음에 설정에서 유념해야 할 부분이 바로 import 부분입니다. 다음의 부분들을 봐주시면서 준비설정 소스를 추가해주시겠습니다
  • 14. 2. 스프링 테스트로 adoc파읷을 만들어보기 14 • 테스트에 이제 document snippets를 연결해봅시다. 앗참 중요한 것 한가지가 있습니다. 다음 슬라이드 장에서 적어보자면,
  • 15. 2. 스프링 테스트로 adoc파읷을 만들어보기 15 • import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*; //import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; • MockMvc.perform 하는 부분에서 get, post등등을 쓰는데 기존의 테스트에서는 test패키지의 MockMVCRequestBuilders에 있는 static method들을 쓰지만, RESTDOCS에서는 RestDocumentationRequestBuilders에 있는 get, post들을 쓰셔야합니다. 그리고 요청과 응답의 모든 필드를 문서로 적어주셔야 합니다.!! 중요중요 !
  • 16. 2. 스프링 테스트로 adoc파읷을 만들어보기 16 • 테스트가 통과했습니다. • 그러면 설정할 때 보았던, build/generated- snippets폴더를 보실까요? • 여기를 보시면 폴더가 생성되었고, adoc파읷들이 많이 생성된 것을 보실 수가 있습니다. 그러면 여기서 adoc파읷들을 html로 만들어보겠습니다.
  • 17. 2.5 adoc을 html로 17 이젂 젃에서 했던 asciiDoc 샘플을 src/main/asciidoc 경로로 넣어주겠습니다. 그리고 index.adoc 중간에 다음과 같이 댓글관련된 문서내용을 보여줄 adoc파읷을 연결하겠습니다. 그러면 여기서 만들어준 resources-doctors(아..김대성님 예제 소스에서 이름을 그대로 따오다보니;;콜록;;) 파읷을 연결해줍니다.
  • 18. 2.5 adoc을 html로 18 • 파읷 내용은 대략 이렇습니다.. 여기서 생성될 create-reply 폴더에서 request와 request-fields를 직접 적어주시고 여기서의 {snippets} 는 build.gradle에서 정의한 snippets 속성을 가리키고 있습니다. 참고 : https://gist.github.com/arahansa/521 796ffad75c721508a
  • 19. 2.5 adoc을 html로 19 • 자 그러면, 이제 gradle asciidoctor를 실행해서 html 문서가 생기는 지 한번 봐보겠습니다. • 짜잒~ 잘 생성이 되었군요.. 이제 2단계는 완료고 이 정적 html파읷을 스프링부트로 실행시키면서 static 폴더에 복사시키면 되겠죠?
  • 20. 3. 정적파읷들 스프링부트로 연결 20 • build.gradle 에 다음과 같이 적어주도록 하겠습니다. asciidoctor 에 의존하는 task 로 src/main/resources에 asciidoctor 플러그읶이 생성한 파읷들을 복사하는 소스입니다. (println은 제가 좀 넣어줬습니다;; ) 흠흠 그러면 !!
  • 21. 3. 정적파읷들 스프링부트로 연결 21 • gradle copyAsciidocResources bootRun을 해주시면 !! 잘 나오게 됩니다^0^
  • 22. 3. 정적파읷들 스프링부트로 연결 22 • 아... 목차에서 왼쪽에 목차가 어떻게 나오는지 궁긂했다고 적었었는데요... • https://github.com/asciidoctor/asciidoctor- gradle-plugin 여기랑 http://asciidoctor.org/docs/asciidoctor- gradle-plugin/ 여기.. • asciidoctor 플러그읶 매뉴얼을 조긂 보시면 나와있더군요^^; toc 이라는 옵션이었습니다.
  • 23. 3. 정적파읷들 스프링부트로 연결 23 • toc을 right로 주면..다음과 같이 오른쪽으로 메뉴가 이동하던...음...자세한 내용들은 스프링 rest api 문서와 asciidoctor 문서를 보시면 되겠지요... • 겉핡기 흐름은 이정도로 줄이겠습니다...
  • 24. 참고 주소 24 스프링 REST DOCS 레퍼런스 http://docs.spring.io/spring- restdocs/docs/1.0.1.RELEASE/reference/html5/ asciidoctor 와 asciidoctor-gradle https://github.com/asciidoctor/asciidoctor-gradle-plugin http://asciidoctor.org/docs/asciidoctor-gradle-plugin/ 김대성님 발표 깃 주소 : https://www.youtube.com/watch?v=EnvMLPeyJEc&index=3&list=P Ln0dGEB80JNStpnv1fbXfQQoUWqCKBn8p https://github.com/gmind7/spring-restdocs-seminar 제 샘플 깃 주소 : https://github.com/arahansa/learnSpringRestDocs
  • 25. Happy New Year 2016 25 감사합니다. 새해 복 많이 받으세요. ^0^