웹 프로그래밍31 01. 회원 등록 API API 개발 기본 회원 등록 package me.weekbelt.jpashop.api; @RestController @RequiredArgsConstructor public class MemberApiController { private final MemberService memberService; @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member) { Long id = memberService.join(member); return new CreateMemberResponse(id); } @PostMapping("/api/v2/members") public Crea.. 2020. 7. 20. 세션 만료시 로그인 유지 방법 세션이 만료되더라도 로그인을 유지하는 방법 로그인 과정 사용자가 로그인 폼에서 로그인 유지 체크박스를 체크한 후 성공적으로 로그인을 하였을 경우 기본적으로 해당 로그인한 유저의 정보에 해당하는 세션 아이디뿐만 아니라 로그인 정보가 담긴 쿠키가 발행됩니다. 로그인 정보가 담긴 쿠키에는 사용자의 이름과 랜덤으로 생성한 토큰이 포함되어 있다. 사용자 이름과 토큰은 DB 테이블에 저장됩니다. 로그인하지 않은 사용자가 사이트를 방문하여 로그인 정보가 담긴 쿠키를 제시하면, DB에서 사용자 이름과 토큰이 조회됩니다. 조회한 사용자 이름과 토큰이 접속한 사용자의 쿠키와 일치하면 인증된 것으로 간주합니다. 그리고 사용된 토큰은 DB에서 제거되고 새로운 토큰이 생성되어 DB에 사용자 이름과 같이 저장됩니다. 그리고 다시.. 2020. 7. 2. 인터셉터(Interceptor) 인터셉터(Interceptor)란? Interceptor는 Displatcher servlet에서 Handler(Controller)로 요청을 보낼 때, Handler에서 Dispatcher servlet으로 응답을 보낼 때 동작합니다. 인터셉터 작성법 org.springframework.web.servlet.HandlerInterceptor 인터페이스를 구현합니다. org.springframework.web.servlet.handler.HandlerInterceptorAdapter 클래스를 상속 받습니다. Java Config를 사용한다면, WebMvcConfigurerAdapter가 가지고 있는 addInterceptors 메소드를 오버라이딩하고 등록하는 과정을 거칩니다. 인터셉터 적용 package.. 2020. 7. 2. 스프링 데이터 JPA 연동 오늘 포스팅은 스프링부트와 스프링 데이터 JPA를 연동하는 방법에 대해 살펴보겠습니다. 살펴보기 전에 간단히 ORM(Object-Relational Mapping)과 JPA(Java Persistence API)에 대해서 설명하자면 ORM은 객체와 릴레이션을 맵핑할 때 발생하는 개념적 불일치를 해결하는 프레임워크입니다. 쉽게 말해서 자바의 클래스의 멤버들을 데이터베이스의 컬럼과 맵핑을 시켜주는 역할을 합니다. 스프링부트 프로젝트를 만든 후 mysql과 h2 jpa의존성을 추가합니다. H2는 인메모리DB로 테스트에 이용하기 위해 scope을 test로 지정합니다. 실제 저장할 DB는 Mysql로 저장할 예정입니다. application.properties에서 DataSource에 대한 설정을 합니다. DT.. 2019. 10. 28. 이전 1 2 3 4 ··· 8 다음