728x90 inflearn17 인프런 HTTP 강의 정리 #4 1 . HTTP API를 만들어보자 1) 요구사항 회원 정보 관리 API를 생성한다. 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 2) 리소스란? - 회원이라는 개념 자체가 리소스! - 회원을 등록, 수정, 조회하는 것은 리소스가 아니다. 3) 리소스 식별 방법 - 회원을 등록, 수정, 조회하는 것을 모두 배제한다. - 회원이라는 리소스만 식별 -> 회원 리소스를 URI에 매핑 4) API URI 설계 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} 그러나 위와 같이 회원이라는 리소스를 URI에 매핑하면, 회원 조회/등록/수정/삭제의 URI가 동일하여 구분할 수 없.. 2023. 12. 23. 인프런 HTTP 강의 정리 #3 1 . 모든 것이 HTTP (HyperText Transfer Protocol) HTTP는 하이퍼 텍스트를 주고 받기 위한 규칙으로, 거의 모든 형태의 데이터를 전송할 수 있다. - HTTP 특징 클라이언트 서버 구조 무상태 프로토콜(Stateless), 비연결성 HTTP 메시지 단순함, 확장 가능 2 . 클라이언트 서버 구조 클라이언트는 서버에 요청을 보내고, 서버는 요청에 대한 결과를 만들어서 응답한다. 이때 클라이언트와 서버를 개념적으로 분리해서 각각 독립적으로 진화할 수 있도록 하는 것이 중요하다. 클라이언트 : UI, UX, 사용성에 집중 서버 : 비즈니스 로직, 데이터 처리에 집중 3 . Stateful, Stateless 1) 상태 유지 (Stateful) 중간에 점원이 바뀌는 경우를 가정해.. 2023. 12. 22. 인프런 스프링 기본 강의 정리 #5 1. 웹 애플리케이션과 싱클톤 대부분의 스프링 애플리케이션은 웹 애플리케이션이며, 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 이때 여러 클라이언트가 memberService를 요청할 때마다 컨테이너는 다른 memberService를 만든다. 이를 확인해보기 위해 테스트 코드를 작성해보자. -스프링 없는 순수한 DI 컨테이너 테스트 src/test에 singleton 패키지를 생성하고, 그 아래에 SingletonTest 클래스를 생성한다. import hello.core1.AppConfig; import hello.core1.member.MemberService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api... 2023. 11. 25. 인프런 스프링 기본 강의 정리 #4 1. 스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너이자 인터페이스이다. 그리고 new AnnotationConfigApplicationContext(AppConfig.class)는 ApplicationContext의 구현체이다. 스프링 컨테이너의 생성 과정을 알아보도록 하자. 1) 스프링 컨테이너 생성 스프링 컨테이너를 생성하면 그 안에 스프링 빈 저장소가 생성된다. 이때 구성 정보(AppConfing.class)를 지정해줘야 한다. 2) 스프린 빈 등록 @Bean이 붙은 코드의 .. 2023. 11. 23. 이전 1 2 3 4 5 다음 728x90