inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Spring Cloud Gateway - Global Filter 적용 ➁

필터에서 reject되는 경우 공통처리

915

Mountain

작성한 질문수 4

0

안녕하세요 강사님? 좋은강의 잘 듣고 있습니다.

강의 수강 중 질문이 있습니다 !

apigateway-service에서 인증된 사용자 요청과 같은 검증을 공통으로 처리할 때, 오류가발생한 경우 현재 강의에서는 setComplete()함수를 통해 request를 user-service까지전달하지 않고 종료하는것으로 이해했습니다.

에러페이지로 redirect를 보낸다거나, 클라이언트에 에러 응답을 json형식으로 반환할 수 는없을까요 ?
 
즉, apigateway-service의 filter에서 reject되었을 때 에러에 대한 결과 페이지를 어떻게 깔끔하게 처리할 수 있을까요 ??
 
* [공식문서]를 찾아보았지만 적당한 해결책을 찾지못해 질문드립니다 !

JPA architecture spring-cloud spring-boot Kafka msa

답변 1

1

Dowon Lee

안녕하세요, 이도원입니다. 

onError() 메소드에서 ServerHttpResponse를 통해 해당 응답을 종료하기 위한 용도로 setComplete() 메소드를 호출하였습니다. 만약 특정한 메시지를 같이 전달하고자 한다면, 아래와 같이 이용해 볼 수 있습니다. 아래 작업은 WebFlux와 Reactive Java에 관해 조금 찾아 보시고 실행하시면 도움이 될 것 같습니다. 

    private Mono<Void> onError(ServerWebExchange exchange, String err, HttpStatus httpStatus) {
ServerHttpResponse response = exchange.getResponse();
response.setStatusCode(httpStatus);
log.error(err);

byte[] bytes = "The requested token is invalid.".getBytes(StandardCharsets.UTF_8);
DataBuffer buffer = exchange.getResponse().bufferFactory().wrap(bytes);
return response.writeWith(Flux.just(buffer));

// return response.setComplete();
}

감사합니다. 

0

Mountain

WebFlux와 Reactive Java 키워드로 더 찾아보겠습니다. 감사합니다 !

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