조금 더 짜임새 있는 Restful API를 구현하려 하다 보니 신경쓸 부분이 생각보다 많다는 것을 알았다. 그 중 요청에 따른 반환되는 상태코드가 적절해야한다는 부분이 있어 정리해본다. 하나를 알면 열개를 배워야 되는... HTTP Status Code 제어 일반적으로 클라이언트의 요청에 따른 결과값은 200 OK Status Code을 반환 받게 된다. 이는 정상적인 처리가 되었다는 의미이다. 그렇지만 Restful 하게 코드를 작성한다면 GET, POST의 용도가 다르기 때문에 반환되는 상태코드도 나누어주면 조금더 짜임새있는 코드를 작성할 수 있다. 기존코드 @PostMapping("/user") public void setUser(@RequestBody User user){ User resultU..
개요 MyBatis로 개발을 하던 중 요즘 많은 곳에서 JPA를 사용한다는 이야기를 접하게 되었다. 결과적으로 MyBatis와 달리 생산성이 어마무시하게 늘어나는 걸 보고 본격적으로 공부하고 정리해보게 되었다. 목차 1. JPA란? 2. JPA 사용 목적 3. SpringData JPA를 이용한 간단한 CRUD JPA란? JPA는 자바 진영의 ORM 기술 표준이다. 아주 오래전 EJB를 사용하던 때 한 회사원이 EJB의 복잡성과 어려움에 견디지 못하고 퇴근하고 Hibernate를 만들었고 이걸 접한 JAVA에서 Hibernate 담당자들을 데려와 여러 개발자와 함께 JPA 표준을 만들었다는 이야기가 있다. 중요한건 JPA는 하나의 명세일뿐 JPA를 기반으로 Hibernate, OpenJPA, Eclips..
1. JWT 란?사용자의 요청에 따라 서버에서 만들어진 암호화된 토큰을 반환하여 사용자 측에 저장이후 토큰을 사용하여 인증과정을 진행 2. JWT 구조- Header-> 어떤 타입의 데이터 어떤 알고리즘을 사용- Payload(Claims) - Signature-> 데이터와 토큰이 위변조 되지 않았음을 증명 3. Spring Security + JWT 구현Spring Security에서 알아두어야 할 두가지 개념 - Authentication (인증)Authentication은 주체(principal)의 신원을 증명하는 과정입니다. - Authorization (인가) Authorization은 인증을 마친 사용자에게 권한을 부여하여 특정 리소스에 접근할 수 있도록 허가하는 과정입니다. 스프링 ..