Spring boot Jhipster microservice Java客户端api调用错误

Spring boot Jhipster microservice Java客户端api调用错误,spring-boot,spring-security,oauth-2.0,jhipster,resttemplate,Spring Boot,Spring Security,Oauth 2.0,Jhipster,Resttemplate,我们在微服务架构中部署了JHipster应用程序。我们正在使用OAuth选项,其中我是一个新手。前端工作正常。但是现在我们不知道如何调试访问restful端点的java客户机。我们正在使用nginx来实现ssh并隐藏端口,以备不时之需 代码是: String plainCreds = "myuser:mypassword"; byte[] plainCredsBytes = plainCreds.getBytes(); byte[] base64CredsBytes =

我们在微服务架构中部署了JHipster应用程序。我们正在使用OAuth选项,其中我是一个新手。前端工作正常。但是现在我们不知道如何调试访问restful端点的java客户机。我们正在使用nginx来实现ssh并隐藏端口,以备不时之需

代码是:

    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();

假设您使用uaa和网关

您的代码必须使用POST和JSON负载(请参阅
userjwtcontrollerintest.testAuthorize()
)根据
/api/authenticate
进行身份验证才能获得令牌


一旦你有了令牌,你必须使用
授权
HTTP头和
承载
前缀:
授权:承载c123aaacr
这就是我要做的

针对UAA版本的微服务体系结构进行身份验证时 -终点是 -标题中的内容类型=应用程序/x-www-form-urlencoded -正文有grant_type=密码、用户名和密码

我对UAA的使用置之不理——在文档中没有看到这一点的重要性


感谢乔恩·鲁德尔。

哦,谢谢你。这说明我知道的太少了。试用邮递员curl-X POST\\-H'授权:基本Z3JLZY5MY2E6AGVYIFROZW1LMWJYYXLLZDJYW4ZYTRKAXNOCMFNJWPHBSRHLWDLEXNLCG='\-H'缓存控制:无缓存'\-H'内容类型:应用程序/json'\-H'邮递员令牌:8c2ad2e7-333b-9a56-6d61-c612070f4200'并获取“不支持的请求方法'POST'”,还尝试使用OAuth2RestTemplate。收到相同的“请求方法发布不受支持”消息。Google建议这与我的请求有关,但我看不出有任何错误。您的负载不是JSON,为什么所有这些头都是JSON,只需执行单元测试JWTControllerIntest中的操作即可。testAuthorize()Gael,抱歉,我无法将UserJWTControllerIntest.testAuthorize()转换为简单客户端POJO所需的内容,没有Jhipster和Spring。我找不到关于我的测试卷曲应该是什么样子的文档。我的邮递员代码现在是:curl-xpost-H'content-type:application/json'-d'{???}。如果我知道什么??那能给我一个代币吗?对。UserJWTController.authorize()映射到/api/authenticate,并将LoginVM作为参数。LoginVM的JSON序列化为{“用户名”:“xxx”,“密码:”yyy”,“rememberMe”:false}
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)