부스트코스18 프로젝트E. 예약 : 한줄평 관련 Web API 만들기 이번 프로젝트는 두번에 걸쳐 통과를 했다. 두번 돈 안내려 했는데 또 내게되어서 아쉽다.. 예약했던 상품에 댓글 달기, 댓글 목록 보기(기존 내용 수정), 이미지 다운로드(업로드) Web API를 구현해야 한다. Comment1 이미지는 프로젝트 내부 디렉토리가 아닌 외부에 저자하는 것이 좋습니다. 이유는 지난 코드리뷰에서 말씀드린 것과 같이 war 빌드시 내부 디렉토리에 파일을 write할 수 없으며, 추가적으로 수정사항 적용시 변경된 클래스만 아닌 전체 프로젝트를 배포하기 때문에 방식에 따라 이전 변경되기전 프로젝트 디렉토리를 삭제후 배포하게 되면 프로젝트 내부에 write한 이미지 파일 또한 삭제할 수도 있습니다. final String ROOT_PATH = request.getSession().g.. 2021. 11. 22. 프로젝트D. Spring Security를 이용한 로그인 및 예약 관련 Web API 만들기 인턴 생활을 시작하게 되면서 시간날때 조금씩 진행하느라 생각보다 오래 걸린 프로젝트였다. 이번 프로젝트에서는 예약하기, 예약 목록 보기, 예약 취소 기능을 구현해야 한다. 또한 예약을 하기 위해서는 로그인 기능을 구현해야하고 로그인을 하지 않은 사용자는 로그인할 수 없다. Commnet1 단일 책임 원칙에 맞게 작성했는지 고민해보시기 바랍니다. 단일 책임 원칙이란 모든 클래스는 하나의 책임만을 가지며, 클래스는 그 책임을 완전히 캡슐화해야 한다는 것을 의미한다. 예약에 대한 댓글 기능을 구현하면서 해당 메소드를 예약 컨트롤러에 위치시켰다. 이는 예약에 관한 책임을 갖고 있지만 댓글에 대한 책임도 갖고 있다. 정답은 없지만 예약 컨트롤러에 위치시키는 것보다 다른 컨트롤러를 만들어 위치시키는게 좋을 것이다... 2021. 10. 19. 프로젝트C. 예약 : 메인, 상세보기 관련 Web API 만들기 이번 프로젝트는 구현해야할 부분도 많고 난이도도 좀 있어서 처음부터 성공하지 못할 것이라고 생각했는데 다행히 한번에 통과할 수 있었다. 이번 프로젝트를 시작으로 마지막 프로젝트까지 인터넷 예약 관리 시스템을 만들게 된다. 실제 네이버에서 운영하는 예약 시스템과 유사한 서비스이다. 백엔드 파트이기 때문에 Web API를 개발하면 된다. 이번 파트에서는 예약 메인 페이지에서 사용하는 Web API와 예약 메인 페이지에서 전시 상품을 클릭했을 때 보여지는 상세페이지와 관련된 Web API를 개발한다. Comment1 인터페이스는 데이터를 저장할 수 없기 때문에 데이터를 저장할 인스턴스 또는 정적 필드를 선언할 수 없습니다. 대신 상수 필드만 선언할 수 있습니다. 따라서, 인터페이스에 선언된 필드는 모두 상수이.. 2021. 8. 18. [Spring] MockMVC Test Web API를 많이 작성하다보면 웹 애플리케이션을 실행하고 브라우저를 열어서 테스트할 URI를 입력하고 다시 코드를 작성하고 웹 애플리케이션을 재시작하는 등을 반복하게 된다. 이때 Web API를 실행하는 실행하는 시간보다 웹 애플리케이션을 실행하고 종료하는 시간이 더 오래걸리는 상황이 발생하게 되는데 여기에는 문제점이 있다. 1. 개발자의 수동 테스트 2. 코드 수정 후 서버를 재시작하고 테스트 이런 문제를 해결하기 위해 다음과 같은 방법을 사용할 수 있다. 1. JUnit 테스트 2. MockMVC 테스트 이 글에서 MockMVC을 이용하여 Web API테스트를 직접 해보려고 한다. 1. MockMVC란? 우리는 웹 애플리케이션을 작성한 후, 해당 웹 애플리케이션을 Tomcat이라는 이름의 WAS(.. 2021. 8. 2. [boostcourse] 4. 웹 앱 개발 예약 서비스 생각해보기 #1 ~ #4 #1 Spring MVC 1) Front Controller는 모든 요청을 받아 들여 공통적인 작업을 처리해 줍니다. 이를 통해 얻을 수 있는 장점엔 어떤 것이 있을 수 있을 까요? Front Controller Pattern - 모든 Resource 요청을 처리해주는 하나의 컨트롤러를 두는 패턴이다. - MVC 패턴과 함께 사용하는 패턴이다. Front Controller Pattern의 장점 - 모든 Request를 하나의 컨트롤러를 통해 한 곳에서 작업을 수행할 수 있다. - 추적(Tracking)이나 보안(Security)를 적용할 때 하나의 컨트롤러에서 하기 때문에 편하다. - 파일 구조가 바뀌어도 URL을 유지할 수 있다. 즉 DispatcherServlet(Front Controller)이 .. 2021. 8. 2. 이전 1 2 3 4 다음