Hello,
J'ai fait une requête avec curl qui est fonctionnelle très très bien !
Mais avec restTemplate j'ai le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 curl --location --request GET 'https://login.microsoftonline.com/0124dee1-b390-4423-****-1b8b0e81f9d5/oauth2/v2.0/token' --header 'Content-Type: application/x-www-form-u rlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'client_id=ed46fc76-****-4d05-b90b-211bfe2e84b8' --data-urlencode 'scope=https://graph.microso ft.com/.default' --data-urlencode 'client_secret=*****.aV5RmT=Z6Lbnc1uGMsxDN=cE_'
Mon code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Could not extract response: no suitable HttpMessageConverter found for response type [class com.app.client.oauth2.model.OAuth2TokenResponse] and content type [text/html;charset=utf-8]
Qui peut me dire c'est quoi mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE); headers.add(HttpHeaders.ACCEPT_CHARSET, "UTF-8"); headers.add(HttpHeaders.ACCEPT, MediaType.APPLICATION_FORM_URLENCODED_VALUE); String url = securityOAuth2ClientAccessTokenURI; MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); params.add("grant_type", URLEncoder.encode(securityOAuth2ClientGrantType, "UTF-8")); params.add("client_id", URLEncoder.encode(securityOAuth2ClientId, "UTF-8")); params.add("scope", URLEncoder.encode(securityOAuth2ClientScope, "UTF-8")); params.add("client_secret", URLEncoder.encode(securityOAuth2ClientSecret, "UTF-8")); HttpEntity<MultiValueMap<String, String>> requestBody = new HttpEntity<>(params, headers); ResponseEntity<OAuth2TokenResponse> oAuth2TokenResponse = restTemplate.exchange(url, HttpMethod.GET, requestBody, OAuth2TokenResponse.class);
mon restTemplate est juste :
Merci!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @Bean RestTemplate restTemplate() { final RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(getMappingJackson2HttpMessageConverter()); return restTemplate; } public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() { MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_FORM_URLENCODED)); return mappingJackson2HttpMessageConverter; }
Partager