Nous avons déployé une application JHipster dans l'architecture microservice. Nous utilisons l'option OAuth, dans laquelle je suis un newbee. L'extrémité avant fonctionne bien. Mais maintenant, nous ne savons pas comment déboguer le client Java qui accède aux points de terminaison reposants. Nous utilisons nginx pour implémenter ssh et masquer le port, au cas où cela serait pertinent.Jhipster microservice Erreur d'appel API client Java
codeest:
String plainCreds = "myuser:mypassword";
byte[] plainCredsBytes = plainCreds.getBytes();
byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes);
String base64Creds = new String(base64CredsBytes);
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
RestTemplate restTemplate = new RestTemplate();
HttpEntity<String> request = new HttpEntity<String>(headers);
String url = "https://mysite/api/my-entity/1111";
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class);
String response = response.getBody();
La réponse est
org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:63)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:700)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:653)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:531)
Oh, merci. Cela montre à quel point je sais. Essayé boucle Postman -X POST \ https: // myrul/api/authentification \ 'autorisation: base Z3JlZy5mY2E6aGVyIFRoZW1lMWJyYXllZDJjYW4zYTRkaXNocmFnJWphbSRhLWdleXNlcg ==' -H \ 'cache de contrôle: no-cache' -H \ type de contenu » -H : application/json '\ -H' posman-token: 8c2ad2e7-333b-9a56-6d61-c612070f4200 'et obtenez "Méthode de requête' POST 'non pris en charge", – Ribeye
Également essayé en utilisant OAuth2RestTemplate. Vous avez reçu le même message "Demander la méthode POST non supporté". Google suggère que c'est quelque chose à voir avec ma demande, mais je ne peux pas voir quelque chose de mal. – Ribeye
Votre charge utile n'est pas JSON et pourquoi tous ces en-têtes, juste faire ce qui est fait dans le test unitaire JWTControllerIntTest.testAuthorize() –