Browse Source

Handle web client response error

Issue gh-1189
Joe Grandja 2 năm trước cách đây
mục cha
commit
23f97e245f

+ 8 - 0
samples/messages-client/src/main/java/sample/web/AuthorizationController.java

@@ -25,8 +25,10 @@ import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.reactive.function.client.WebClient;
+import org.springframework.web.reactive.function.client.WebClientResponseException;
 
 import static org.springframework.security.oauth2.client.web.reactive.function.client.ServletOAuth2AuthorizedClientExchangeFilterFunction.clientRegistrationId;
 import static org.springframework.security.oauth2.client.web.reactive.function.client.ServletOAuth2AuthorizedClientExchangeFilterFunction.oauth2AuthorizedClient;
@@ -99,4 +101,10 @@ public class AuthorizationController {
 		return "device-activate";
 	}
 
+	@ExceptionHandler(WebClientResponseException.class)
+	public String handleError(Model model, WebClientResponseException ex) {
+		model.addAttribute("error", ex.getMessage());
+		return "index";
+	}
+
 }