spring boot: 104개의 글
| CORS(Cross-Origin Resource Sharing)이란 CORS는 동일한 출처(Origin: 최초 자원이 서비스된 출처)가 아니여도 다른 출처에서의 자원을 요청하여 쓸 수 있게 허용하는 구조를 뜻합니다. 보통 보안 상의 이슈(DOM을 통한 취약한 데이터 접근 시도) 때문에 동일 출처(Single Origin Policy)를 기본적으로 웹에서는 준수하게 됩니다. 따라서 최초 자원을 요청한 출처 말고 다른 곳으로 스크립트를 통해 자원을 요청하는 것은 금지됩니다. CORS을 적용하려면 웹 어플리케이션에 그에 따른 처리를 해야하고 스프링 부트에서는 @CrossOrigin 어노테이션 혹은 WebConfig를 통해 CORS를 적용하는 방법을 제공합니다. | 기존 Single Origin Policy..
| HATEOAS란? HATEOAS는 Hypermedia As The Engine Of Application State의 약자로 하이퍼미디어를 REST API의 상태 정보를 관리하기 위한 매커니즘으로 활용하는 것을 말합니다. REST API에서 클라이언트에 리소스를 넘겨줄 때 특정 부가적인 리소스의 링크 정보를 넘겨주게 되며 이를 통해 REST API의 리소스 상태에 따른 관리를 진행하게 됩니다. HATEOAS를 쓰는 이유는 다음과 같은 기존 REST API의 단점을 보완하기 위해서입니다. 1. REST API는 앤드포인트 URL이 정해지고 나면 이를 변경하기 어렵다는 단점이 있습니다. 만일 API의 URL을 변경하게 되면 모든 클라이언트의 URL까지 수정해야하기 때문에 번거로워지므로 기존 다른 API를..
| 스프링 부트 ExceptionHandler 스프링 부트에서는 ExceptionHandler를 기본적으로 등록하여 Exception을 처리하고 있습니다. 기본 예외 처리기는 스프링에서 자동적으로 등록하는 BasicErrorController에서 관리합니다. ( 에러 발생 시 JSON 형식으로 리턴 ) 커스텀 Exception 핸들러, 커스텀 Exception 클래스를 만들어서 예외를 처리할 수 있습니다. Http Status 코드에 맞게 예외 발생시 html 문서를 클라이언트에 전송할 수 있습니다. | 샘플 예제 프로젝트 구조 | pom.xml | pom.xml +---src | +---main | | +---java | | | \---com | | | \---tutorial | | | \---spri..
| 스프링 부트 프로젝트 구조 (Spring Boot Project Structure) 스프링 부트의 프로젝트 구조는 다음과 같습니다. | pom.xml +---src | +---main | | +---java | | | \---com | | | \---tutorial | | | \---springboot | | | Application.java | | | | | \---resources | | | application.properties | | | | | +---static | | \---template | \---test | \---java src/main/java 자바 소스 파일들이 있는 곳입니다. src/test/java 자바 테스트 파일들이 있는 곳입니다. src/resources/applica..