-
[S3] Spring에서 S3로 파일업로드 및 테스트
Spring Boot와 파일서버로 사용하는 AWS S3를 연동할 것이다. S3 버킷 생성 → Spring을 통해 S3에 파일을 업로드하기 위해서는 ACL을 활성화해야 한다. 비활성화 상태라면 AmazonS3Exception: The bucket does not allow ACL이 발생한다 버킷 정책설정 { "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Acti...
-
스프링 API 에러처리
API에서 에러가 발생하면 HTML 페이지가 아닌 JSON 형태의 에러 데이터를 클라이언트에게 보내야 한다. 스프링 부트는 HTML뿐만 아니라 API 예외처리도 기본적으로 제공한다. 스프링부트 기본 오류처리 BaseErrorController @RequestMapping(produces = MediaType.TEXT_HTML_VALUE) // text/html public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response) {} @RequestMapping // 그 외(applcati...
-
[스프링부트] 에러 페이지 처리
스프링 부트는 에러 페이지를 기본적으로 제공한다. /error : 기본 오류 페이지 URI BasicErrorController : 기본 오류페이지 URI(/error)를 맵핑하는 기본 컨트롤러 개발자는 오류 페이지만 등록하면 된다 BasicErrorController가 제공하는 룰과 우선순위에 따라 페이지를 등록 우선순위 뷰 템플릿 - 정적리소스 - error뷰 이름 순서 구체적인 404가 대략적인 4xx보다 우선 뷰 템플릿 resources/templates/error/500.html resources/templates/error/5xx.ht...
-
git stash 임시저장
현재 stage에 있는 작업중인 파일들을 임시저장해 두는 명령어 stash : 넣어두다 Git을 사용할 때 기존 브랜치에서 작업을 하다가 다른 작업을 먼저 해야하는 상황을 마주할 수 있다. 개발중에 다른 브랜치로 이동해야 할 때 개발중에 hotfix가 필요할 때 pull을 우선 받아야할 때 이전 커밋내용을 수정해야 할 때 이와 같이 작업 중에 다른 브랜치로 이동하려면 작업중이던 내용을 commit해야 한다. 하지만, stash 명령어로 작업내용을 임시저장하면 commit을 하지 않고도 가능하다. Working Directory에 있는 파일만 임시저장공간(스택)에 저장된다. ...
-
Spring REST Docs
REST API 문서를 자동화 하는 도구에는 Spring REST Docs와 Swagger 등이 있다. Spring REST Docs의 장점 : 테스트가 성공해야 문서가 작성되며 실제 코드에는 추가되는 코드가 없다 AsciiDoc의 형태로 문서가 작성된다 build.gradle plugins { id "org.asciidoctor.convert" version "1.5.9.2" } dependencies { asciidoctor 'org.springframework.restdocs:spring-restdocs-asciidoctor' testImplementation 'org.springfra...