본문 바로가기

728x90
반응형

개발/Spring

이클립스 workspace 변경 방법 workspace 변경 workspace 변경하는 방법입니다. File - Switch Workspace - other 클릭 Browse 버튼 클릭해서 원하는 workspace 디렉터리 선택 launch 버튼을 클릭하면 workspace 가 변경됩니다. 더보기
REST API - URI 표현 REST 방식 URI 표현 서버에 데이터를 조회하는 것뿐만 아니라 추가, 수정, 삭제 기능도 REST 방식으로 요청해야 합니다. 이때 서버에 어떤 해우이를 요청할 것인가는 HTTP 메서드를 이용해 처리합니다. 메서드 기능 POST 추가(Create) GET 조회(Select) PUT 수정(Update) DELETE 삭제(Delete) [ REST 방식으로 요청하는 URI 형식 ] /작업명 /기본키 + 메서드 + 데이터 - 작업명 : 요청하는 작업 종류 - 기본키 : 요청하는 작업에 해당하는 대상의 기본키 - 메서드 : 요청하는 기능 - 데이터 : 기능 수행에 필요한 JSON 데이터 [ REST 로 게시판 기능 관련 URI 작성 ] 메서드 URI 기능 POST /boards + 데이터 새글 등록하기 GET.. 더보기
스프링 REST API - @ResponseEntity @ResponseEntity @RestController 는 별도의 View 를 제공하지 않은 채 데이터를 전달하므로 전달 과정에서 예외가 발생할 수 있습니다. 예외에 대해 좀 더 세밀한 제어가 필요한 경우 @ResponseEntity 클래스를 사용합니다. 쇼핑몰을 예를 들었을 때 주문에 이상이 생겨 일정 시간이 지나도 주문이 처리되지 않으면 서버에서 ResponseEntity 클래스에 HTTP 상태 코드를 설정하여 앱으로 전송하도록 합니다. 그러면 앱에서 HTTP 상태 코드를 인식할 수 있는 기능을 이용해 주문 상태나 예외 발생을 알려줍니다. [ HTTP 상태 코드 ] 그룹 코드 상수 설명 정보 응답 100 CONTINUE 클라이언트가 계속해서 요청하거나 요청이 완료된 경우에는 무시해도 된다는 정보를 .. 더보기
스프링 REST API - @RequestBody & @ResponseBody @RequestBody @RequestBody 를 사용하면 브라우저에서 전달되는 JSON 데이터를 객체로 자동 변환해 줍니다. ... @RestController @RequestMapping("/test/*") public class TestController { static Logger logger = LoggerFactory.getLogger(TestController.class); @RequestMapping(value = "/info", method = RequestMethod.POST) // JSON 으로 전송된 데이터를 MemberVO 객체의 속성에 자동으로 설정 public void modify(@RequestBody MemberVO vo) { logger.info(vo.toString()).. 더보기
스프링 REST API - @PathVariable @PathVariable 이란? REST API 에서 URI 에 변수가 들어가는 것을 볼 수 있습니다. @PathVariable 을 사용하면 브라우저에서 요청 URL 로 전달된 매개변수를 가져올 수 있습니다. ex) http://bookclub.yes24.com/BookClub/Detail/106494677 위의 굵은 글씨로 되어 있는 부분을 @PathVariable 로 처리해줄 수 있습니다. ... @RestController @RequestMapping("/test/*") public class TestController { static Logger logger = LoggerFactory.getLogger(TestController.class); // 브라우저에서 요청 시 {num} 부분의 값이 @.. 더보기
스프링 REST API - @RestController REST 란? 모바일 기기는 네트워크 전송량이 유선 기기보다 떨어지므로 PC 에서 동작하는 것과는 달리 화면은 그대로 유지하면서 필요한 데이터만 전송 받아 빠르게 결과를 표시합니다.(Ajax 를 이용하는 것이 대표적인 경우) 스프링에서도 모바일 기기와 연동하는 경우가 많아지면서 데이터만 전송하는 기능을 지원하게 되었고 그 결과 REST 라는 방식이 그 대안으로 등장하여 사용되고 있습니다. REST 란 representational State Transfer 의 약자로, 하나의 URI 가 고유한 리소스를 처리하는 공통 방식입니다. REST 방식으로 제공되는 API 를 REST API(RESTful API)라고 하며 이는 트위터와 같은 Open API 에서 많이 사용하고 있습니다. @RestControlle.. 더보기
스프링 인터셉터(Interceptor) 인터셉터 인터셉터(Interceptor)는 필터와 비슷한 기능을 하지만 필터는 웹 애플리케이션의 특정한 위치에서만 동작하는 데 반해 인터셉터는 좀 더 자유롭게 위치를 변경해서 기능을 수행할 수 있습니다. 즉 인터셉터는 애플리케이션 안에서 적용 범위를 설정할 수 잇습니다. 인터셉터를 사용하면 브라우저 요청이 있을 때 요청 메서드 호출 전후에 원하는 기능을 수행할 수 있습니다. 주로 쿠키(cookie) 제어, 파일 업로드 등의 작업에 사용합니다. [ 스프링 HandlerInterceptor 여러가지 메서드 ] 메서드 기능 preHandle() 컨트롤러 실행 전 호출됩니다. postHandle() 컨트롤러 실행 후 DispatcherServlet 이 View 로 보내기 전에 호출됩니다. afterComplet.. 더보기
메이븐(Maven) 구성요소 메이븐 메이븐은 프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴입니다. 메이븐을 사용하면 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리할 수 있습니다. 메이븐은 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준 디렉터리 구조를 처음부터 일관된 형태로 구성하여 관리합니다. 메이븐을 사용하면 컴파일과 동시에 빌드를 수행할 수 있을 뿐만 아니라 관련된 라이브러리도 일관성 있게 관리할 수 있어 편리합니다. [ 메이븐 웹 프로젝트 기본 디렉터리 구조 ] [ 메이븐 프로젝트 구성요소 ] 구성요소 설명 src/main/java 자바 소스 파일이 위치합니다. src/main/resources 프로퍼티 파일이나 XML 설정파일 등 리소스 파.. 더보기