0

我正在尝试运行 POST 方法以使用 REST Assured Code 获取访问令牌。但它返回 404 错误。我的代码如下。POSTMAN 配置如下,尝试使用 Rest Assured 进行复制

Method : POST

Authorization tab: 
             Type : Basic Auth 
             UserName :  ABCD
             Passsowrd : Test@1234

Body Tab : 
           Selecting  "application/x-www-form-urlencode" Radio Button
           Key : grant_type  Value : Client_Credentials
           Key : Scope       value : ABCDAPI


given().auth().basic("Username Here","Password type here")
.header("Authorization", "Basic T1VUUkVBQ0hfQVBJX0NMSUVOVDpIWmRwREwydkR5UE5iQmtvWEdxSkFpK1Qxa08yWSszNndxQXhoYTVXUWhZPQ==n")
.header("Content-Type","application/x-www-form-urlencoded")         
.contentType("application/x-www-form-urlencoded")
.body("[{\"grant_type\":\"client_credentials\"}]")
.body("[{\"scope\":\"ABCDpi\"}]").when()            
.post("https://ABCD.KLM.id.XYZ-Cloud.net/oauth2/access_token?realm=PQR")            
.then().contentType("").statusCode(200);

我还附上了正在工作的 Postman 的屏幕截图,在此处输入图像描述

4

2 回答 2

1

在尝试下面的代码之前给自己一些时间来看看这里

还将application/x-www-form-urlencoded其 POST 变量作为键值对存储在正文中。

given().auth().basic(username, password)
.header("Content-Type","application/x-www-form-urlencoded")
.formParam("grant_type", "client_credentials")
.formParam("scope", "ABCDpi")
.post("https://ABCD.KLM.id.XYZ-Cloud.net/oauth2/access_token?realm=PQR")
.then().contentType("").statusCode(200);
于 2017-12-07T15:01:06.573 回答
0

我看到您的代码问题与您的问题类似。我想为我们的问题找到一种解决方案。如果您更改以下行,它可能会起作用:

.body("[{\"grant_type\":\"client_credentials\"}]")
.body("[{\"scope\":\"ABCDpi\"}]").when()

为了这:

.body("grant_type=client_credentials&scope=ABCDpi")

我希望有帮助。

于 2019-06-26T13:31:45.113 回答