본문 바로가기

Spring38

restAPI의 PUT / PATCH 차이점 우선, PUT과 PATCH는 둘 다 데이터를 UPDATE하는 HTTP Method이다! 하지만 PUT같은 경우는 모든 데이터(리소스)를 업데이트하고, PATCH는 요청한 데이터(리소스)만 업데이트한다. 그래서 PUT요청 시, 담지않은 값은 NULL로 저장되고, PATCH요청 시에는 담지않은 값은 그냥 넘어간다. 정리 PUT : 리소스의 모든 것을 업데이트 한다. PATCH : 리소스의 일부를 업데이트 한다. 예시 아래와 같은 회원이라는 리소스가 있다. 회원 (member) 1 이름 (name) 애용이 나이 (age) 10 성별 (gender) M 아래와 같은 요청을 보내면 PUT /members/1 { name : "홍길동", age : 19, gender : "M" } 회원 (member) 1 이름 (.. 2022. 10. 6.
Spring Controller / Service / Repository란? [요약내용] > controller 브라우저(클라이언트)와 상호작용하는 부분 실제 사용자의 요청을 받고, 정보의 가공이 필요할 경우 비지니스 영역(service)에 데이터를 전달한다. > service controller에서 전달받은 데이터를 토대로 원하는 로직을 처리한다. 그 후 repository를 이용하여 원하는 데이터를 DB에 저장, 혹은 조회와 같은 기능으로 가져온다. > repository DB에 접근하기 위한 메소드들을 가지고 있으며, 이를 이용해 데이터가 DB에 접근할 수 있게한다. 찾아본 결과 Controller가 무엇인지 알기 전에 MVC 패턴에 대하여 먼저 아는 것이 중요합니다! MVC 패턴이란? MVC패턴은 Model-View-Controller의 약자로서 개발을 할 때 3가지 형태.. 2022. 10. 5.
JPA란? https://velog.io/@adam2/JPA%EB%8A%94-%EB%8F%84%EB%8D%B0%EC%B2%B4-%EB%AD%98%EA%B9%8C-orm-%EC%98%81%EC%86%8D%EC%84%B1-hibernate-spring-data-jpa 참조사이트 JPA는 도대체 뭘까? (orm, 영속성, hibernate, spring-data-jpa) JPA는 도대체 무엇일까요? orm, jdbc, 영속성, hibernate, ... 관련 지식까지 모두 파해쳐봅니다. velog.io 🌱 JPA JPA는 Java Persistence API의 약자로, 자바 ORM 기술에 대한 API 표준 명세이다. 즉, 인터페이스의 모음이다. 이러한 JPA 인터페이스를 구현한 대표적인 프레임워크가 하이버네이트(Hibe.. 2022. 10. 5.
getter / setter 사용이유 getter 와 setter 개발을 하다보면 많이 들어 봤을 얘기다. 그리고 사용하는게 당연하다고 알고 있다. getter 와 setter 그럼 왜써야될까? 막상 설명 하려고 하면 까먹는 경우가 있다. 내가 그랬다. private 접근자 우리는 보통 멤버변수를 private 으로 해둔다 그이유는 무결성 때문이다. 그리고 한정적으로 노출 하여 유지보수 성을 높일수 있다 DDD 를 생각해보면 항상 최상위 루트에서 접근을 해야 되기 때문에 겟터와 셋터로만 접근 하게 하면 경계가 생겨서 유지보수에 좋다 그렇다면 무결성이 왜 필요한가? 다음과 같은 얘가 있다. 우리는 멤버변수 가격을 갖는 Item 클래스를 만들었다. 초보개발자 같은 경우는 setter 를 굳이 만들기 귀찮아서 그냥 public 으로 했다 얼마나 .. 2022. 8. 15.
앞으로 할 것들 2022. 8. 14.
스프링 웹 개발 기초 (개발방식 3가지 part2) 1. localhost ~~ hello-api를 넘김 2. 매핑된 것이 있는 것 체크 3. @ResponseBody가 붙어있는 것을 확인 4. 객체가 리턴된 것을 확인 5. viewresolve대신에 HttpMessageConverter로 바로 넘김 6. JsonConverter가 동작됨 7. 객체를 Json 타입으로 바꿈 8. 바꾼 Json을 웹브라우저에 응답 9. HTTP의 BODY에 문자 내용을 직접 반환 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annot.. 2022. 8. 14.