TIL)23.07.28(HttpServlet)

주민·2023년 7월 28일
0

TIL

목록 보기
49/84

HttpServletRequest

  • 클라이언트가 전달한 데이터를 담고 있는 객체
    ex. 데이터를 받고 토큰을 사용할 수 있는 양식으로 맞춰줌
 *JwtUtil
 
public String resolveToken(HttpServletRequest request) {
    String bearerToken= request.getHeader(AUTHORIZATION_HEADER);
    if(StringUtils.hasText(bearerToken) && bearerToken.startsWith(BEARER_PREFIX)){
        return bearerToken.substring(7);
    }
    return null;
}

HttpServletResponse

  • 서버작업을 하고, 클라이언트에게 작업결과를 전달하기 위해서 사용
    ex. 토큰으로 로그인
@PostMapping("/login")
public ResponseEntity<ApiResponseDto> login(@RequestBody AuthRequestDto loginRequestDto, HttpServletResponse response) {
    try {
        userService.login(loginRequestDto);
    } catch (IllegalArgumentException e) {
        return ResponseEntity.badRequest().body(new ApiResponseDto("회원을 찾을 수 없습니다.", HttpStatus.BAD_REQUEST.value()));
    }

    //JWT 생성 및 쿠키에 저장 후 Response 객체에 추가
    response.addHeader(JwtUtil.AUTHORIZATION_HEADER, jwtUtil.createToken(loginRequestDto.getUsername(), loginRequestDto.getRole()));

    return ResponseEntity.ok().body(new ApiResponseDto("로그인 성공", HttpStatus.CREATED.value()));
}

0개의 댓글

관련 채용 정보