前提・実現したいこと
JWT認証で戻りのJSONを取得したい。
発生している問題・エラーメッセージ
5 28, 2018 5:17:22 午後 org.apache.catalina.core.StandardHostValve custom 重大: Exception Processing ErrorPage[errorCode=500, location=/WEB-INF/html/error/internalServerError.html] org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.client.HttpClientErrorException: 400 Bad Request at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:986) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:870) at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:472) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316) at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395) at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254) at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:349) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:175) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:486) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: org.springframework.web.client.HttpClientErrorException: 400 Bad Request at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:79) at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:777) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:730) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:686) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:602) at test.interceptor.JwtAuthenticationInterceptor.preHandle(WebAuthenticationInterceptor.java:83) at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:136) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:986) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) ... 27 more
該当のソースコード
Java
1package test.web.interceptor; 2@Component 3@Scope("request") 4public class JwtAuthenticationInterceptor extends HandlerInterceptorAdapter { 5 @Override 6 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { 7 RestTemplate restTemplate = new RestTemplate(); 8 HttpHeaders headers = new HttpHeaders(); 9 headers.add("Authorization","JWTのアクセストークン値"); 10 headers.add("Content-Type", "application/json;charset=UTF-8"); 11 12 HttpEntity<String> req = new HttpEntity<String>(headers); 13 ResponseEntity<String> model = restTemplate.exchange(TARGET_URL, HttpMethod.POST, req, String.class); //ここでエラーとなってしまう。 14 return true; 15 } 16}
補足情報(FW/ツールのバージョンなど)
Java8、Spring3.9
あなたの回答
tips
プレビュー