스프링부트개념 더미 데이터 insert (Feat. @DynamicInsert 와 Enum) Entity 생성하고 username, password, email만 집어넣었다. id는 auto increment고, createDate은 @CreationTimestamp 어노테이션 달아놨으니 userRepository.save(user); 될 때 자동으로 현재 시간이 저장될 것이고, role은 @ColumnDefault("'user'") 해놨으니 user로 들어가겠지?! ❓❓❓❓❓❓❓❓... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 더미 데이터 select 및 응답 (Feat. IllegalArgumentException) 우선 User를 3개 만든다. id는 1, 2, 3 이다. < DummyControllerTest > 내가 다루고자 하는 것은 select 즉, GetMapping에서 null에 대한 응답을 어떻게 처리할지에 대한 것이다. Optional의 함수로는, 🎃 1. .get() : null이 아니라고 장담(?)할 때 사용 🎃 2. .orElseGet() : 익명 객체를 생성하여 빈 객체에 user... 스프링부트개념SpringBoot_Project_BlogSpringBoot_Project_Blog 더미 데이터 delete 삭제를 구현해보겠다. 아래처럼 간단하게(?) 코드를 짜보았다. (이렇게 위험하게 짜면 안된다는 거 알지만 ㅎㅎ) 그런데 이 코드의 문제는 만약 id가 User 객체에 없다면 에러가 발생한다. 현재는 id가 1, 2, 3인 User만 DB에 있다. 없는 id인 5를 넘겼더니 예상했듯이 에러가 발생한다. try-catch 문을 사용하여 IllegalArgumentException 으로 에러 처리... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 더미 데이터 update (Feat. Get요청/Post요청 데이터 형태) 📍 Get 요청 주소에 데이터를 담아 보낸다. 데이터 형태는 key=value이다. Body로 데이터를 담아 보내지 않는다. 📍 Post, Put, Delete 요청 Body에 데이터를 담아 보낸다. x-www-form-urlencoded(form 태그를 만들어 전송) 일 때도 get처럼 key=value의 데이터 형태를 가진다. form 태그 method="post" 로 하면 되지만, fo... 스프링부트개념SpringBoot_Project_BlogSpringBoot_Project_Blog Exception 처리하기 예외를 처리 하기 위해 따로 패키지와 클래스를 만들었다. 에러가 나면 에러 추적하는 내용이 길게 쫙 ~~ 나타나는게 너무 복잡해보이고 지저분해서 깔끔하게 만들고자 한다!! IllegalArgumentException 에만 해당될 것이다! 에러가 깔끔하다 ㅎ 만약 모든 Exception을 잡고 싶다면, 모든 예외의 부모인 Exception 을 사용하면 된다.... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 🔥 #7 스프링 시큐리티 초기 설정 로그인 기능에 스프링 시큐리티 적용하기 로그인 요청을 하면 시큐리티가 지켜보다가 로그인 요청을 가로챈다. 로그인 요청으로 들어온 파라미터(username, password)를 가지고 시큐리티가 로그인을 진행한다. 로그인 진행을 완료한 후 시큐리티 전용(?) 세션에 유저 정보를 넣어놓는다. (이 또한 스프링이 IoC로 관리) 이때, 시큐리티 세션 안에는 User 객체를 저장시킬 순 없고, Us... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 🔥 #15 글 수정 기능 💡 board.js 에서 차이점 delete 기능 : let id = $("#id").text(); 글 번호 : <span id="id"><i>${board.id} </i></span> 에선 ${board.id}가 태그 사이에 있으므로 html 혹은 text 함수를 쓴다. update 기능 : let id = $("#id").val(); <input type="hidden" id="id" v... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog
더미 데이터 insert (Feat. @DynamicInsert 와 Enum) Entity 생성하고 username, password, email만 집어넣었다. id는 auto increment고, createDate은 @CreationTimestamp 어노테이션 달아놨으니 userRepository.save(user); 될 때 자동으로 현재 시간이 저장될 것이고, role은 @ColumnDefault("'user'") 해놨으니 user로 들어가겠지?! ❓❓❓❓❓❓❓❓... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 더미 데이터 select 및 응답 (Feat. IllegalArgumentException) 우선 User를 3개 만든다. id는 1, 2, 3 이다. < DummyControllerTest > 내가 다루고자 하는 것은 select 즉, GetMapping에서 null에 대한 응답을 어떻게 처리할지에 대한 것이다. Optional의 함수로는, 🎃 1. .get() : null이 아니라고 장담(?)할 때 사용 🎃 2. .orElseGet() : 익명 객체를 생성하여 빈 객체에 user... 스프링부트개념SpringBoot_Project_BlogSpringBoot_Project_Blog 더미 데이터 delete 삭제를 구현해보겠다. 아래처럼 간단하게(?) 코드를 짜보았다. (이렇게 위험하게 짜면 안된다는 거 알지만 ㅎㅎ) 그런데 이 코드의 문제는 만약 id가 User 객체에 없다면 에러가 발생한다. 현재는 id가 1, 2, 3인 User만 DB에 있다. 없는 id인 5를 넘겼더니 예상했듯이 에러가 발생한다. try-catch 문을 사용하여 IllegalArgumentException 으로 에러 처리... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 더미 데이터 update (Feat. Get요청/Post요청 데이터 형태) 📍 Get 요청 주소에 데이터를 담아 보낸다. 데이터 형태는 key=value이다. Body로 데이터를 담아 보내지 않는다. 📍 Post, Put, Delete 요청 Body에 데이터를 담아 보낸다. x-www-form-urlencoded(form 태그를 만들어 전송) 일 때도 get처럼 key=value의 데이터 형태를 가진다. form 태그 method="post" 로 하면 되지만, fo... 스프링부트개념SpringBoot_Project_BlogSpringBoot_Project_Blog Exception 처리하기 예외를 처리 하기 위해 따로 패키지와 클래스를 만들었다. 에러가 나면 에러 추적하는 내용이 길게 쫙 ~~ 나타나는게 너무 복잡해보이고 지저분해서 깔끔하게 만들고자 한다!! IllegalArgumentException 에만 해당될 것이다! 에러가 깔끔하다 ㅎ 만약 모든 Exception을 잡고 싶다면, 모든 예외의 부모인 Exception 을 사용하면 된다.... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 🔥 #7 스프링 시큐리티 초기 설정 로그인 기능에 스프링 시큐리티 적용하기 로그인 요청을 하면 시큐리티가 지켜보다가 로그인 요청을 가로챈다. 로그인 요청으로 들어온 파라미터(username, password)를 가지고 시큐리티가 로그인을 진행한다. 로그인 진행을 완료한 후 시큐리티 전용(?) 세션에 유저 정보를 넣어놓는다. (이 또한 스프링이 IoC로 관리) 이때, 시큐리티 세션 안에는 User 객체를 저장시킬 순 없고, Us... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog 🔥 #15 글 수정 기능 💡 board.js 에서 차이점 delete 기능 : let id = $("#id").text(); 글 번호 : <span id="id"><i>${board.id} </i></span> 에선 ${board.id}가 태그 사이에 있으므로 html 혹은 text 함수를 쓴다. update 기능 : let id = $("#id").val(); <input type="hidden" id="id" v... SpringBoot_Project_Blog스프링부트개념SpringBoot_Project_Blog