본문 바로가기

스파르타코딩클럽(내일배움캠프)

스파르타코딩클럽 내일배움캠프 10주차 1일

728x90

숙련과제 lv1

게시글에 jwt 적용하기(소스코드 분석)

 

** 토큰을 적용할때는 메소드 파라미터에 httpseveletrequest를 추가적으로 적용해줘야한다.

 

resolve token : 토큰을 헤더에서 가져오기

claims : jwt안에 들어있는 정보들을 담을 수 있는 객체

claims.getsubjects() : 유저이름을 넣어두었음

 

유저권한에 따른 접근 방법

admin : findall로 접근

user : findallbyuserid

 

[문제]

1.

2.

memoRepository.findAllById(user.getId())

이부분이 먹히지 않음.

user의 id는 long타입인데 findallbyId에 들어가야하는것은 iterator형식으로 들어가야하는데 해결책을 모르겠음.

 

[해결]

1번

기존 : id받아오는 부분이 없었음

RestAPI를 통해 id 자체를 pathvariable로 controller에서 클라이언트로부터 받아옴

public Long updateMemo(HttpServletRequest request, @PathVariable Long id,@RequestBody MemoRequestDto requestDto) {
    return memoService.update(request,id,requestDto);
}

** 참고

[번역] Path Variable과 Query Parameter는 언제 사용해야 할까?

https://ryan-han.com/post/translated/pathvariable_queryparam/

2번

findbyuserid 로 그냥 all을 빼버림

 

 

숙련과제 lv1 완성

https://github.com/karlema/midtermlv1_complete

 

GitHub - karlema/midtermlv1_complete

Contribute to karlema/midtermlv1_complete development by creating an account on GitHub.

github.com

 

728x90