본문 바로가기

전체 글

(268)
50 : /test - sequence diagram 1. 토큰이 없을때 JwtRequestFilter - request.getHeader("Authorization")의 정보가 null이다. 따라서 if문을 통과하지 못하고 401 error와 "JWT Token does not begin with Bearer String" 예외가 발생한다 2. 틀린 토큰값 JwtRequestFilter - request.getHeader("Authorization")에 정보는 들어있어서 if문에 들어간다. jwtTokenUtil - getUsernameFromToken으로 이동 후 getClaimFromToken(token, Claims::getId) 에서 401 error 에러가 발생하고 "Unable to get JWT Token" 예외가 발생한다 3. 유효기간 지난..
49 : /authenticate - Sequence Diagram (Springboot) Start url에서 /authenticate를 실어서 authenticate을 요청한다 JwtRequest body에는 e-mail, password가 들어간다 JwtAuthenticationController createAuthenticationToken(JwtRequest request) > 요청으로 들어온email과 password가 들어있다 아래의 내용의 코트를 호출하는 컨트롤러 역할을 한다 JwtUserDetailsService 에서 Email과 Password를 검사 (Email&Password를 member에 담는다) JwtTokenUtil 는 위에서 검사한 member를 토큰으로 변환한다 JwtUserDetailsService Email과 Password가 유효한지 검사한다. Member..
10월 3주차 1. 제네릭에 대해서 46 : 제네릭 (Generics) 수정예정 제네릭(Generics) 이란? 제네릭(Generics)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주 dwc04112.tistory.com 수정 및 추가하기 2. /test 호출했을때 sequence diagram 그려보기 50 : /test - sequence diagram 1. 토큰이 없을때 JwtRequestFilter - request.getHeader("Authorization")의 정보가 null이다. 따라서 if문을 통과하지 못하고 401 error와 "JWT Token does not begin with Bearer Stri..
48 : REST API (2) 39 : Springboot (Rest API - @PathVariable ) @PathVariable URL 경로에 변수를 넣어주는 어노테이션이다. 항상 Rest API는 httpMethod를 기준으로 URL 분류 > URL 분류를 간략화 해준다. 여기서 Rest API? (분명 들었는데 기억이 나지 않는다...) “Represe.. dwc04112.tistory.com 이어서... REST API를 쓰는이유 클라이언트 쪽에 JSON방식으로 데이터를 주기 위함이다 (서버에서 클라이언트 에게 JSON방식으로 데이터를 주려면 @ResponseBody 어노테이션을 사용) JspMVC에서는 web browser - server 만 생각했었다. android app OR ios app 등에서 사용할 데이터를 S..
47 : Springboot(token로그인 환경 만들기) 추가된 파일 member member memberRepository Role security - controller JwtAuthenticationController MemberController - service JwtUserDetailsService SpringbootApiApplication passwordEncorder 추가 pom & ddl파일 추가 POSTMAN IMPORT 1. File > Invalidate Caches 실행하기 2. collections > import 받은 collection과 Environment 적용하기 적용한 파일명 SpringbootApi.postman_collection.json SpringbootApi[local].postman_environment.json ..
46 : 제네릭 (Generics) 제네릭(Generics) 이란? 제네릭(Generics)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. > 특정타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입이라는 것 제네릭을 쓰는 이유? 형변환이 필요없고, 타입의 안정성이 보장된다. 코드가 간결해지고 재사용성이 높아진다. 제네릭 타입을 사용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거가능 클래스명 뒤에 를 붙여서 선언한다. public class ApiResponse { private final boolean success; private String message = n..
45 : Springboot(글 수정 기능) 글 수정 기능 패스워드 일치하면 다음과 같은 문구 출력 후 수정되도록 수정하기. putBoard 상단 // putBoard 상단 비밀번호 비교 부분 public ApiResponse putBoard(int id, BoardDTO boardDTO) throws Exception { // board의 비번 검사 String boardPassword = boardDAO.getBoardById(id).getPassword(); if(isBoardPasswordMisMatch(boardDTO, boardPassword)){ return new ApiResponse(false, "board password is not match"); } getBoardById에서 URL에서 받은 id를 넣고 비밀번호를 받아오는 b..
10월 2주차 1. 4-글 수정 기능 : 패스워드 일치하면 정리되도록 블로그에 정리