Spring boot requete http post
Bonjour,
je cherche a faire une requête post en envoyant un fichier sur une URL en passant le token de l'utilisateur.
J'ai donc 2 fonction une qui récupère un token et une deuxième qui envoie le fichier.
Les 2 fonction marche bien séparément la il me renvoie une erreur.
D'abord je ne sais pas comment je peux récupérer la valeur de retour de la fonction.
Je ne sais pas trop qu'est ce qui pourrait autre provoquer un erreur?
La fonction pour récupérer le token :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
@GetMapping(value = "test/getToken")
private String getToken() throws JSONException {
String username = "";
String password = "";
int organization_id = ;
String user_auth_basic = "";
String pwd_auth_basic = "";
String base_url_auth = "";
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(base_url_auth);
builder.queryParam("_orgId", organization_id);
builder.queryParam("grant_type", "password");
builder.queryParam("username", user_auth_basic);
builder.queryParam("password", pwd_auth_basic);
HttpHeaders headers = new HttpHeaders();
headers.setBasicAuth(username, password);
LinkedMultiValueMap<String, Object> body
= new LinkedMultiValueMap<>();
HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity
= new HttpEntity<>(body, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> responseEntity = restTemplate
.exchange(
builder.build().encode().toUri(),
HttpMethod.POST,
requestEntity,
String.class);
JSONObject resp = new JSONObject(responseEntity.getBody());
return resp.getString("refresh_token");
} |
Et celle qui poste le fichier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
@GetMapping(value = "test/testUploadFile")
public ResponseEntity<String> uplodfile() throws JSONException {
String token = this.getToken();
String pathFile = "";
int project_id = ;
String apiUrl = "";
HttpHeaders headers = new HttpHeaders();
headers.setBearerAuth(token);
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
LinkedMultiValueMap<String, Object> body
= new LinkedMultiValueMap<>();
body.add("file", new FileSystemResource(pathFile));
HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity
= new HttpEntity<>(body, headers);
String serverUrl = apiUrl;
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> responseEntity = restTemplate
.exchange(
serverUrl,
HttpMethod.POST,
requestEntity,
String.class);
return responseEntity;
} |
Merci