| REST API 구현 과정 조회 요청 : /api/articles 또는 /api/articles/{id}> GET 메서드로 전체, 단일 Article 조회생성 요청 : /api/articles> POST 메서드로 새로운 Article 생성수정 요청 : /api/articles/{id}> PACTH 메서드로 특정 Article 내용 수정삭제 요청 : /api/articles/{id}> DELETE 메서드로 특정 Article 삭제| REST API 구현| REST 컨트롤러와 일반 컨트롤러 차이 REST 컨트롤러 : JSON, 텍스트 데이터 반환일반 컨트롤러 : 뷰 페이지 반환 | GET 구현- 전체 게시글 조회GET 메서드를 사용해 localhost:8080/api/articles 로 요청을 보냈는데 ..
스프링부트
| 데이터 삭제 과정클라이언트가 HTTP 메서드로 특정 게시글의 삭제 요청요청을 받은 컨트롤러는 repository를 통해 DB에 저장된 데이터를 찾아 제기존에 데이터가 있는 경우에만 수행삭제가 완료되면 클라이언트를 결과 페이지로 리다이렉트| 데이터 삭제하기1) Delete 버튼 추가show.mustache 파일에 Delete 버튼을 추가하였습니다. Delete 2) Delete 요청을 받아 데이터 삭제HTTP 메서드의 DELETE 메서드를 써야 하지만HTML에서는 POST와 GET 이외에 다른 메서드를 제공하지 않아GET 방식으로 삭제 요청을 받아 처리 - delete() 메서드 만들기 GetMapping() 어노테이션으로 작성했으며 요청 접수가 오면 처리하도록 했습니다. - 삭제할 대상 가져오기DB에..
| 데이터 수정 과정| 수정 페이지를 만들어 기존 데이터 불러오기1) 상세페이지에 Edit 버튼 만들기show.mastache 파일이 상세 페이지이므로 여기에 태그를 추가해 edit 링크를 추가했습니다. 2) Edit 요청을 받아 데이터 가져오기Edit 요청을 받을 컨트롤러를 연결했습니다.ArticleController.java에 edit() 메서드를 만들었고반환할 수정 페이지인 edit.mustache 파일을 만들었습니다. 그리고 @GetMapping()을 사용해 URL인 articles/{id}/edit을 작성해 연결했습니다.컨트롤러에서 변수 사용은 중괄호 {} 하나인 것을 유의해야 합니다! edit() 메서드에 DB에 있는 기존 데이터를 불러오는 코드를 작성했으며articleReository의 f..
| 링크 (link)미리 정해 놓은 요청을 간편히 전송하는 기능ex) 페이지 이동을 위해 사용 클라이언트가 링크를 통해 어느 페이지로 이동하겠다 요청 시서버는 결과 페이지를 응답합니다. | 리다이렉트 (redirect)클라이언트가 보낸 요청을 마친 후 처리할 다음 요청 주소를 재지시하는 것분리된 기능을 하나의 연속적인 흐름으로 연결이 가능합니다. | 링크와 리다이렉트를 이용해 페이지 연결하기뷰 페이지 템플릿에서 태그를 추가하고 href 속성 값을 활용하여 링크를 걸어주면 해당 기능을 잘 사용할 수 있습니다. 1) 새 글 작성 링크 만들기 2) 입력 페이지 -> 목록 페이지 돌아가기 3) 목록 페이지 -> 상세 페이지 이동하기 4) 상세피이지 -> 목록 페이지 돌아가기
| 단일 데이터 조회하기1) URL 요청받기DB에 저장한 데이터를 웹 페이지에서 보려면 출력 페이지에 접속해야 합니다.그렇게 하려면 URL 요청을 받아야 합니다. @GetMapping("/articles/{id}") @GetMappling() 어노테이션으로 URL 요청을 받도록 했으며URL Id에 따라 /article/1, /article/2 등으로 받기로 했으므로 Id 변수로 받도록 했습니다. 2) 데이터 조회해 출력하기- id를 조회해 데이터 가져오기DB에서 데이터를 가져오는 주체는 Repository입니다. @Autowired 어노테이션으로 구현했으며생성자로 생성 후 메서드 목록을 확인해서 findById(Long id) 메서드를 사용했습니다. findById()는 특정 Entity의 id 값 기준..
| MVC 패턴MVC 패턴은 각각 Model, View, Controller 역할을 나누는 기법입니다. Model : 데이터를 관리하는 역할View : 화면을 담당하는 역할Controller : 클라이언트의 요청에 따라 서버에서 처리하는 역할| 뷰 템플릿뷰 템플릿은 화면을 담당하는 기술웹 페이지 (View)를 하나의 틀 (Templete)으로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여준다. ex) 웹 사이트의 같은 틀에서 사용자마다 다른 내용을 보여주는 것 | 예제) MVC 패턴을 활용해 페이지 만들기| 뷰 템플릿 페이지 만들기뷰 템플릿은 html 파일이 있는 static 디렉터리가 아닌 templates 디렉터리에 만듭니다. templates 디렉터리에 .mustache 파일 확장자로 만..
| 스프링 부트 (Spring Boot) 자바 웹 프로그램을 더욱 쉽게 빠르게 만들기 위한 도구입니다.스프링 프레임워크 (Spring Framework)를 개선한 것인데웹 애플리케이션 서버인 톰캣을 가지고 있어 웹 서비스를 jar 파일로 간단하게 배포가 가능합니다. | 스프링 부트 (Spring Boot) 개발 환경 설정 저는 Java 개발을 해본 적이 없어 이번 개발 환경 설정에 조금 더 집중했습니다. JDK (Java Development Kit)이라고 하는 자바 개발 도구를 설치하고 IDE를 설치하는데 이 책에서는 Java 환경의 IDE를 인텔리제이라는 프로그램으로 사용했습니다. 또한 프로그램을 설치를 다하고 Spring Boot 프로젝트를 만드는데기존에 Visual Studio나 VS Code를 ..