스프링부트개념 POSTMAN 사용해서 Http 테스트 해보기 인터넷 브라우저 요청은 무조건 get 요청 밖에 할 수 없다. (select) 처럼 [물음표+쿼리스트링]을 통해 데이터 보낼 수 있음 -> 매개변수는 (@RequestParam int id, @RequestParam String username) 로 받아야 함 하지만 매개변수에 @RequestParam 을 일일이 적는 것이 아니라 Member 객체를 적어주면 알아서 매핑됨 (스프링이 해줌) ... 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
POSTMAN 사용해서 Http 테스트 해보기 인터넷 브라우저 요청은 무조건 get 요청 밖에 할 수 없다. (select) 처럼 [물음표+쿼리스트링]을 통해 데이터 보낼 수 있음 -> 매개변수는 (@RequestParam int id, @RequestParam String username) 로 받아야 함 하지만 매개변수에 @RequestParam 을 일일이 적는 것이 아니라 Member 객체를 적어주면 알아서 매핑됨 (스프링이 해줌) ... 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