Создан 2 проекта
веб-API - для остальных API с использованием jwt
веб-приложение - для веб-клиента
В веб-приложении Контроллер сконфигурирован, как показано ниже
Код для получения токена из проекта API.
@PostMapping("/")
public String index(Model model){
ResponseEntity<String> response = null;
System.out.println("Authorization Code------" );
String encodedCredentials = new String(Base64.encodeBase64(credentials.getBytes()));
HttpHeaders headers = new HttpHeaders();
//headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_JSON);
//headers.add("Authorization", "Basic " + encodedCredentials);
RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String, String> body = new LinkedMultiValueMap<String, String>();
body.add("username", "test");
body.add("password", "test");
// Note the body object as first parameter!
HttpEntity<?> request = new HttpEntity<Object>(body, headers);
//HttpEntity<String> request = new HttpEntity<String>(headers);
String access_token_url = "http://localhost:8097/authenticate";
//access_token_url += "?code=" + code;
//access_token_url += "&grant_type=authorization_code";
//access_token_url += "&redirect_uri=http://localhost:8090/showEmployees";
response = restTemplate.exchange(access_token_url, HttpMethod.POST, request, String.class);
System.out.println("Access Token Response ---------" + response.getBody());
Но из-за вызова токена веб-API становится меньше ошибки
Ошибка org.springframework.web.client.HttpClientErrorException $ BadRequest: 400 null at org.springframework.web.client.HttpClientErrorException.create (HttpClientErrorException.java:79) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] по адресу org.springframework.web.client.DefaultResponseErrorHandler.handle12Herler.jr_set_setup ()~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springframework.web.client.DefaultResponseErrorHandler.handleError (DefaultResponseErrorHandler.java:102) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springframework.web.client.ResponseErrorHandler.handleError (ResponseErrorHandler.java:63) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в организации.springframework.web.client.RestTemplate.handleResponse (RestTemplate.java:778) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] at org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java:736) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] at org.springframework.web.client.RestTemplate.execute (RestTemplate.java:670) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springframework.web.client.RestTemplate.exchange (RestTemplate.java:579) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в com.inity.webapp.controller.HomeController.index (HomeController.java:68) ~ [classes /: na] at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) ~ [na: 1.8.0_171] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethoIhod62) ~ [na: 1.8.0_171] в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na: 1.8.0_171] в java.lang.reflect.Method.invoke (Method.java:498)~ [na: 1.8.0_171] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:190) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] вorg.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:138) ~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] по адресу org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:10m-web-5.1-web.8-spring.8] -c Spring.RELEASE.jar: 5.1.8.RELEASE] по адресу org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:892) ~ [spring-webmELC-5.1.8.j.5.1.8.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:797) ~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:87) ~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springbrame.ra.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:1039) ~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServ)t.java:942) ~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:1005) ~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:908) ~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELEASE] на javax.servlet.http.HttpServlet.service (HttpServlet.java:660) ~ [tomcat-embed-core-9.0.21.jar: 9.0.21] на org.springframework.web.servlet.FrameworkServlet.сервис (FrameworkServlet.java:882)~ [spring-webmvc-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
javax.servlet.http.HttpServlet.service (HttpServlet.java:741)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:53)
~ [tomcat-embed-websocket-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.springframework.web.filter.RequestContextFilter.doFilterInternal (RequestContextFilter.java:99)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:109)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.springframework.web.filter.FormContentFilter.doFilterInternal (FormContentFilter.java:92)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:109)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:93)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:109)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:200)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:109)
~ [spring-web-5.1.8.RELEASE.jar: 5.1.8.RELEASE] в
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:202)
~ [tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:490)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:139)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:92)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:74)[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:343)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:408)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:853)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1587)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
[na: 1.8.0_171] в
java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
[na: 1.8.0_171] в
org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61)
[tomcat-embed-core-9.0.21.jar: 9.0.21] в
java.lang.Thread.run (Thread.java:748) [na: 1.8.0_171]
Почтальон работает отлично