Java 18

h2-console 접속시 404에러 해결방법

application.yml datasource: url: jdbc:h2:mem:testdb h2: console: enabled: true path: /h2-console 추가 시켜줬는데 접속이 안된다..? 폭풍 구글링을 했는데 h2 버젼문제다 뭔 문제다 다 해봤는데 안된다 예전에 진행할땐 그냥 되었던것 같은데 뭐가 문제일까 약 1시간 이상 삽질을 했다 gradle 로 빌드했다면 build.gradle 에 dependencies 에 implementation 'org.springframework.boot:spring-boot-devtools' 요거 한줄만 추가 시켜주니 쉽게 해결... 난 여태까지 뭐 한걸까..?

Java 2023.05.21

REST API 와 JSON

REST API REST API(Representational State Transfer API) 는 서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계방식 - HTTP 요청에 대한 응답으로 서버의 자원을 반환한다 - 특정 기기에 종속되지 않도록 모든 기기에서 통용될 수 있는 데이터를 반환한다 - 서버는 클라이언트의 요청에 대한 응답으로 화면이 아닌 , 데이터를 전송한다. 과거에는 응답데이터로 XML 을 많이 사용했지만 최근 JSON(Javascript Object Notation) 방식으로 통일되는 추세 * API API(Application Programming Interface)란 애플리케이션을 간편히 사용할 수 있게 하는 미리정해진 약속 사용자와 프로그램 간의 상호작용을 돕는 역할..

Java 2023.04.30

SpringBoot 공부 - CRUD ( Delete )

데이터 삭제버튼 추가 삭제버튼은 상세페이지에 추가하겠다 (show.mustache) 삭제 수정버튼 옆에 빨간버튼으로 추가했다 컨트롤러 수정 delete() 메서드를 추가해준다 @GetMapping("/articles/{id}/delete") public String delete(@PathVariable Long id){ //1.삭제할 대상 가져오기 Article target = articleRepository.findById(id).orElse(null); //2.대상 엔티티 삭제하기 if (target!=null){ //삭제할 대상이 있는지 확인 articleRepository.delete(target); //delete() 메서드로 대상 삭제 } //3. 결과 페이지로 리다이렉트 하기 return "..

Java 2023.04.28

SpringBoot 공부 - CRUD(Update)

상세페이지 에 수정 링크 걸기 show.mustache 에 a태그로 링크를 걸어줌 수정 class="btn btn-primary"추가해서 버튼도 만들어줬다 수정 버튼 동작 컨트롤러 만들기 ArticleController.java 에 edit() 메서드 추가 @GetMapping("/articles/{id}/edit") public String edit(@PathVariable Long id , Model model){ //id를 매개변수로 받아오기 , 모델등록 Article articleEntity = articleRepository.findById(id).orElse(null); //DB에서 수정할 데이터 가져오기 model.addAttribute("article",articleEntity); // a..

Java 2023.04.27

SpringBoot 공부 - 게시판 내 페이지 이동

새 글 작성 링크 만들기 기존 articles/new 로 접속해야 가능했던 새글작성 기능을 a 태그 이용하여 코드를 추가해줌 (index.mustache) 새글 작성 눌렀을때 글 목록으로 다시 돌아올수 있어야 하기에 new.mustache 에서도 /articles 로 돌아오는 링크를 만들어준다 글 목록 글작성후 상세페이지로 이동하기 글 작성후 submit 을 누르면 DB 에 저장은 되지만 Whitelabel Error Page 가 뜬다 에러페이지 대신 글 작성을 확인하기 위해 리다이렉트를 적용한다 ArticleController 에서 create 부분에 리턴값이 공백인것을 retur "redirect:URL 주소" 로 변경 return "redirect:/articles/"+saved.getId(); 작..

Java 2023.04.27

SpringBoot 공부 - CRUD (Read - 2)

게시글 전체목록조회 ArticleController 셋팅 로컬호스트/articles 페이지를 요청했을때 모든 목록 불러오는것으로 셋팅 컨트롤러에서 코드 추가 @GetMapping("/articles") public String index(){ return ""; } ArticleRepository 인터페이스 -> findAll() 을 @override 해서 Iterable 을 ArrayList 로 재정의 index() 메서드 작성 1. 모든 데이터 가져오기 ArrayList articleEntityList = articleRepository.findAll(); 2. 모델에 데이터 등록하기 index(Model model) < model 객체 받아오기 model.addAttribute("articleLis..

Java 2023.04.26

SpringBoot 공부 - CRUD (Read - 1)

URL 맵핑 localhost:8080/articles/ {id} 로 조회가 가능하게 컨트롤러 코드 추가 서버를 실행시며 /articles/ id 를 넣으면 콘솔에 정상적으로 찍힌다 id 조회해 데이터 가져오기 @GetMapping("/articles/{id}") public String show(@PathVariable Long id){ log.info("id = " +id); //1. id를 조회해 데이터 가져오기 Article articleEntity = articleRepository.findById(id).orElse(null); //추가 //2. 모델에 데이터 등록하기 //3. 뷰페이지 반환하기 return ""; } 모델에 데이터 등록하기 @GetMapping("/articles/{id}")..

Java 2023.04.25

SpringBoot 공부 - DB 조회하기

H2 DB 접속 처음에 프로젝트 생성할때 추가한 H2 DB 에 접속하기 위한 기본설정 application.properties 에 코드 한줄 추가 spring.h2.console.enabled=true 서버 재시작하고 http://localhost:8080/h2-console/ 접속 Run 콘솔에서 ctrl+f 눌러 jdbc: 검색 하면 이 부분이 있는데 복사해서 JDBC URL 에 붙여넣기후 connect 하면 db 접속이 된다 왼쪽에 ARTICLE 테이블 클릭후 run 해보면 테이블 내용 나옴 /article/new 에서 제목 , 내용 작성후 다시 run 해보면 정상적으로 테이블에 저장되었다 SQL 문으로 레코드 삽입하기 INSERT INTO article(id,title,content) VALUES..

Java 2023.04.25