2016-09-23 15 views
0

RestTemplateを使用してカスタムオブジェクトとカスタムヘッダーをPOST要求としてURLに送信します。以下は、私が使用しているコードです。SpringのRestTemplateを使用してカスタムオブジェクトとヘッダーを送信する方法

MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>(); 
    headers.add("Authorization: key=", SERVER_KEY); 
    headers.add("Content-Type", "application/json"); 

    RestTemplate restTemplate = new RestTemplate(); 
    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter()); 

    CustomDataModel customDataModel = new CustomDataModel(); 
    customDataModel.setTitle(message); 
    customDataModel.setBody(rowId); 

    CustomNotificationModel customNotificationModel = new CustomNotificationModel(); 
    customNotificationModel.setRegistration_ids(list); 
    customNotificationModel.setPriority("high"); 
    customNotificationModel.setData(customDataModel); 

    HttpEntity<CustomNotificationModel> entity = new HttpEntity<CustomNotificationModel>(customNotificationModel, headers); 

    restTemplate.postForLocation(REST_SERVICE_URI, entity); 

しかし、それは私に次のエラーを与えています。

org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error 
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94) 
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641) 
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597) 
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557) 
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:475) 
at com.humworld.sync.restclient.RestClient.notifyUser(RestClient.java:68) 
at com.humworld.sync.controller.SyncRestController.saveUserDetails(SyncRestController.java:94) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) 
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) 
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:832) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:743) 
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961) 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) 
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

変更が必要な場合はアドバイスをお願いします。

+0

コントローラとmvcの設定についての詳細をご提供ください。前もって感謝します! –

答えて

0

申し訳ありませんが、私はAuthorizationヘッダーで間違いを犯しました。

headers.add("Authorization", "key=" + SERVER_KEY); 

コードは正常に機能していますが、もう一度申し訳ありません。

関連する問題