Spring | SpringBoot
-
[Spring Boot] AJAX / 삭제 기능Spring | SpringBoot 2024. 8. 16. 18:31
- ajax로 요청날리기 웹페이지에서 서버에 요청 보내는 방법 3가지1. 주소창에 URL을 집어넣든가 (GET요청가능)2. 쓰든가 (GET, POST요청가능)3. ajax를 쓰든가 (전부가능) ==> ajax쓰면 새로고침 없이도 서버로 요청 보낼 수 있음 자바스크립트로 fetch('/URL~~') 이런걸 쓰면 ajax를 이용해서 GET 요청보내기 가능(html 파일)테스트용 - ajax로 데이터도 전송가능 ajax로 요청 날릴 때 설정을 기입할 수도 있습니다.- method 속성에 어떤 method로 요청할지 설정도 가능하고- body 속성에 어떤 데이터를 서버로 보낼지 설정도 가능하고- headers란에 전송할 데이터의 타입을 설정도 가능하고- 전송할 데이터가 많으면 자바스크립트 array나 ..
-
[Spring Boot] 수정기능Spring | SpringBoot 2024. 8. 16. 17:54
1. 글마다 수정버튼이 있는데 누르면 글수정 페이지로 이동2. 그 페이지엔 폼이 있고 글의 내용이 이미 채워져있음3. 전송누르면 그걸로 DB의 기존 글 수정 1. 버튼누르면 수정페이지로 이동(list.html) (생략) ✏️ @GetMapping("/edit")String edit() { return "edit.html";}수정페이지 보내줄 API (edit.html) 전송수정페이지 html 파일 edit/1로 접속하면 1번글 내용이 채워진 수정페이지 /edit/2로 접속하면 2번글 내용이 채워진 수정페이지... 이런식으로 만들고 싶으면==> URL 파라미터 문법 사용 @GetMapping("/edit/{id}")String edit() { return ..
-
[Spring Boot] REST API의 예외처리 방법 / Service 레이어로 분리Spring | SpringBoot 2024. 8. 16. 17:02
[ REST API의 예외처리 방법 ] 타임리프 쓰는경우엔 에러시 자동으로 error.html로 이동해주기 때문에 이게 에러처리 끝이지만,서버에서 데이터만 보내주는 REST API들을 만드는경우에는 html 에러페이지를 보내봤자 아무 의미가 없습니다.( 서버와 유저가 데이터만 주고받는 관계라서 html 보내봤자 열지도 못함 ) - try catch"try 안에 있는 코드에서 에러가 나면 catch 안에 있는 코드 실행해주세요~" 라는 뜻의 간단한 문법 @GetMapping("/detail/{id}")@ResponseBodyString detail() { try { throw new Exception("이런저런에러"); } catch(Exception e){ System...
-
[Spring Boot] 상세페이지 만들기 / Optional / 예외처리Spring | SpringBoot 2024. 8. 12. 17:21
- URL 파라미터@GetMapping("/detail/{id}")String detail() { return "detail.html";} - DB에서 글 뽑아서 html에 넣기@GetMapping("/detail/{id}")String detail() { var result = itemRepository.findById(1L); return "detail.html";}리포지토리.findById(1L) 이러면 id가 1인 행을 찾아온다는군요.참고로 숫자를 Long 타입으로 만들고 싶으면 뒤에 L 적으면 됩니다.이걸 변수에 저장해서 이제 html에 보내면 될거같은데 근데 var 자리에 타입은 뭘 넣어야하게요?모르겠으면 변수에 마우스 올려보면 됩니다. Optional 이런 타입을 넣으라는군요. -..
-
[Spring Boot] 상품 추가기능 / th:fragment / th:replaceSpring | SpringBoot 2024. 8. 10. 22:58
1. 글작성페이지 하나 만들고 인풋과 폼 만들어놓고2. 유저가 전송누르면 글을 서버로 먼저 보내고3. 그 다음에 서버는 글을 검사 후 별일 없으면 DB에 저장 1. 글작성페이지 만들기 (write.html) 버튼 name 속성을 잘 작명해놔야 서버로 전송이 됩니다. @GetMapping("/write")String write() { return "write.html";}html 페이지 보내주고 싶으면 API를 하나 만들기 (/write로 접속하면 글작성 페이지를 보내) 2. 전송누르면 서버로 글 전송HTTP POST 요청을 날리면 문자나 숫자를 서버로 전송(write.html) 버튼action="/URL"과method="POST"를 기입하면전송버튼 눌렀을 때 특정 /URL로 P..
-
[Spring Boot] JPA / DB 데이터 출력 / HTML에 서버 데이터 넣기Spring | SpringBoot 2024. 8. 5. 22:14
- JPA? 원래 관계형 데이터베이스는 SQL이라는 언어를 써서 데이터 입출력을해야하는데ORM이라는 라이브러리도 함께 설치해서 쓰는 경우가 많습니다. ORM을 설치하면 SQL이 아니라 자바코드로 입출력을 해결할 수 있습니다.테이블들을 클래스로 관리해서 타입체크도 되고 코드 재사용도 쉽고 여러 장점이 많습니다. 이거 쓰다가 마음에 안들면 직접 SQL 작성도 가능합니다. 실은 지금 설치하는 라이브러리를 Hibernate라고도 부르는데JPA는 자바에서의 ORM 표준 문법같은거고JPA 문법을 개발자들이 쓰기쉽게 만들어준게 Hibernate라는 라이브러리입니다.이게 제일 인기있어서 이거 JPA ~ 설치하면 자동으로 Hibernate가 함께 설치되는 것임그래서 JPA랑 Hibernate를 혼용해서 많이 부릅니다...
-
[Spring Boot] Controller / Thymeleaf / EntitySpring | SpringBoot 2024. 8. 5. 21:37
[ 웹페이지 만들기(Controller) ] - 서버유저가 데이터 요청하면 그 데이터 보내주는 프로그램(이거 해줘 그러면 진짜 그거 해주는 프로그램이 서버) - 서버기능 만들려면 Controller서버기능을 만들고 싶으면 아무 클래스에 @Controller 써놓고 시작!아무 클래스에 @Controller 붙이면 API들 안에 만들 수 있다@Controllerpublic class BasicController { @GetMapping("/경로") @ReponseBody String hello(){ return "유저에게 보내줄데이터"; }} - html 보내기@Controllerpublic class BasicController { @GetMapping("..