jaxb 질문이 있습니다.
안녕하세요, 선생님 강의 잘 듣고 있는 중에 질문이 있습니다
강의의 9:24 초부터
postman 에서 로그인 이후에 얻은 token 을
Bearer Token 에 붙여서 로그인과 회원가입을 제외한 다른 요청을 보낼때,
javax/xml/bind/DatatypeConverter 오류가 났었습니다
그래서 강의에선 선생님께서 결과물에 대한 타입 변환이 필요하기 때문에 jaxb-api 가 의존성에 추가되야 한다고 말씀해주셨는데요
jaxb-api 는 제가 알기로는 xml 파일을 java bean 에 매칭시키는 직렬화/역직렬화를 하기 위한 라이브러리라고 알고 있습니다
그런데 user-service 의 다른 요청들은 (welcome, health-check, GET users) 반환 타입이 String 이나 ResponseEntity 로 설정되어 있는데
즉 이제 xml 과 무관한 타입인거 같은데
그럼에도 jaxb-api 가 필요한 이유가 무엇인지 알 수 있을까요?
감사합니다.
답변 1
1
안녕하세요, 이도원입니다.
JWT를 사용하기 위해서, Request에 포함된 Header 정보로 부터 Token을 얻어서 파싱하고 있습니다.
말씀하신 jaxb-api의 DatatypeConverter의 사용 용도는 전달된 토큰을 Base64로 인코딩/디코딩 할 때 사용되고 있습니다. 단순히 XML과 Java와의 데이터 변환에서 뿐만 아니라, Header에 저장된 JWT를 해석는 과정에서 Base64가 사용되고 이때, DatatypeConverter가 사용된다고 이해하시면 될 것 같습니다.
JwtParser를 구현한 DefaultJwtParser의 setSigningKey 메소드에서 에서 아래와 같이 Base64를 이용한 디코딩 과정이 있습니다.
public JwtParser setSigningKey(String base64EncodedKeyBytes) {
Assert.hasText(base64EncodedKeyBytes, "signing key cannot be null or empty.");
this.keyBytes = TextCodec.BASE64.decode(base64EncodedKeyBytes);
return this;
}
감사합니다.
kafka 업데이트 강의 듣고 시포요
0
114
2
강의 교안
0
104
2
마이크로서비스간 통신 시, 인증 처리
0
113
2
api gateway 에서 인증 처리
0
76
1
섹션 19 질문드립니다
0
84
2
강의 자료 업데이트
0
105
2
부하분산 강의 섹션
0
65
1
강의자료는 어디에서?
0
98
2
강의 자료는 어디서 다운 받을 수 있나요?
0
131
2
전체 사용자 조회시 오류
0
65
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
119
2
학습 방향
0
105
2
카프카 커넥터 사용 목적 문의
0
90
2
kafka 강의
0
117
2
서비스 디스커버리 종류
0
90
2
강의 자료에 대해서 궁금해요
0
125
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
94
2
Kafka Source Connect 버전 에러
0
95
2
소스커넥터는 사용안한 거 맞죠?
0
84
2
강의자료 업데이트 문의
0
99
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
63
1
강의 업데이트 계획이 궁금합니다.
0
120
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
168
2
어떤 것이 업데이트 된 건가요?
0
169
2





