본문 바로가기
Skill Stacks/Java_Spring

[Java] 오늘 배운 것 20231025

by JayAlex07 2023. 10. 25.

[Java] 오늘 배운 것 20231025

 

JWT 토큰

@PostMapping("/login")
public TokenDto login(
        @RequestBody  @Valid MemberLogin.Request request
) {        
    MemberLogin.Response loginInfo = memberServiceImpl.login(request);

    return "토큰이 생성되었습니다 : Bearer " + 
        tokenProvider.generateToken(loginInfo.getEmail(), loginInfo.getRole());
}
  • 토큰을 생성하고, 바로 리턴을 했다
    • 이렇게 하면 나중에 유저가 API를 사용할 때에 토큰을 계속 복사, 붙여넣기를 해야하는 불편함이 있다
@PostMapping("/login")
public TokenDto login(
        @RequestBody  @Valid MemberLogin.Request request
) {

    MemberLogin.Response loginInfo = memberService.login(request);

    TokenDto token = TokenDto.builder()
            .accessToken(tokenProvider.generateToken(loginInfo.getEmail(), loginInfo.getRole()))
            .tokenType("Bearer")
            .build();

    return token;
}
  • TokenDto라는 클래스를 만들어서, 토큰 정보를 넣었다
    • 추후에는 header에 이 클래스를 넣을 예정이다

 

 

UserDetails는 Entity에 사용하지 않을 것

  • Entity는 데이터를 다루는 민감한 클래스다
    • Entity는 실제 데이터를 매핑해주는 클래스
  • UserDetails는 DTO 성격이 강한만큼, DTO에서 사용해준다

 

 

GlobalExceptionHandler

  • 리턴 타입을 ResponseEntity로 해야, 200 + 에러 메세지가 안 뜨고, 원하는 에러 번호랑 에러 메세지가 뜨게 된다
  • 그 전에는 메세지만 리턴하다보니 HTTP 200 이 계속 나와서, 조금 거슬렸다
    • 성공이 아닌데... 성공했다는 느낌

'Skill Stacks > Java_Spring' 카테고리의 다른 글

AWS S3 스프링에 적용하기 - 2  (0) 2024.05.27
스프링 회원기능  (1) 2023.11.17
[Java] Nginx  (0) 2023.09.14
[Java] Kafka  (0) 2023.09.13
[Java] Linux  (0) 2023.09.12