본문 바로가기

Spring/SpringBoot44

[goormedu 강의] 스프링부트 블로그 만들기 04 - 09 Json 데이터로 통신하기 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다.1. GET 요청http://localhost:8000/blog/user?username=ssar특징 : body로 데이터를 담아 보내지 않음. 2. POST, PUT, DELETE 요청 (데이터를 변경)데이터를 담아 보내야 할 것이 많음.form 태그 method='POST'form 태그 -> GET 요청, POST 요청(key=value)자바스크립트로 요청 해야함.통일 : 자바스크립트로 ajax 요청 + 데이터를 json으로 통일form:form 태그 -> POST 요청, PUT 요청, GET 요청 다 넣을 수 있음. 3. 오브젝트로 데이터 받기 post 방식의 key = value(x-www-form.. 2024. 8. 24.
[goormedu 강의] 스프링부트 블로그 만들기 04 - 08 Exception 처리하기 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다.  모든 exception이 발생하면 예외를 발생시키는 handler 생성 GlobalExceptionHandler 클래스 생성@RestController로 선언 @ControllerAdvice@RestControllerpublic class GlobalExceptionHandler { @ExceptionHandler(value=Exception.class) public String handleArgumentException(Exception e) { return ""+e.getMessage()+""; }} @ControllerAdvice를 통해 모든 exception이 발생하면 GlobalExcept.. 2024. 8. 24.
[goormedu 강의] 스프링부트 블로그 만들기 04 - 07 삭제하기 테스트 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. @DeleteMapping 이란?삭제할 요청 URL 매핑으로 사용@DeleteMapping("/dummy/user/{id}")public String delete(@PathVariable int id) { try { userRepository.deleteById(id); } catch (EmptyResultDataAccessException e) { return "삭제에 실패하였습니다. 해당 id는 DB에 없습니다."; } return "삭제되었습니다. id : "+id; } 이렇게만 .deleteById()로 삭제하면 위험함.없는 데이터 삭제 요청시 오류.. 2024. 8. 24.
[goormedu 강의] 스프링부트 블로그 만들기 04 - 06 영속성 컨텍스트와 더티체 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. JPA의 영속성 컨텍스트란?DB에서 데이터를 불러와서 JPA 1차 캐시에 저장하고 있는 상태, 이를 영속화 되었다 표현 예시)update() 메소드에서 .findById로 id에 해당하는 User 객체를 들고온 상태 -> JPA에 영속화 됌. @Transactional@PutMapping("/dummy/user/{id}")public User updateUser(@PathVariable int id, @RequestBody User requestUser) throws IllegalAccessException { User user = userRepository.findById(id).orEls.. 2024. 8. 24.