我试图发送一个POST方法到我的API,它返回401错误,而不是200 OK。
事情是这样的:
使用邮递员:POST请求工作正常。
在授权部分,我选择了Basic Auth
,并提供了用户名/pwd。
在标题部分,我已经给出了X-应用程序
和Content-Type
。我在邮差的身体是:
{
"description": "TestAPIPostmannolast",
"issue_type": {
"id": "271341877549072389",
"name": "Design"
},
"area": {
"id": "271341877549072406"
},
"issue_id": "9d5ac7da-9626-11e8-9eb6-529269fb1459"
}
使用Restarsured:失败并出现401错误。
package basic;
import io.restassured.response.Response;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import io.restassured.RestAssured;
import static io.restassured.RestAssured.given;
public class GetRequest {
@BeforeClass
public void setup() {
RestAssured.baseURI = "https://123.com";
RestAssured.basePath = "/field-management/api";
RestAssured.authentication = RestAssured.basic("username", "password");
}
@Test
public void responseBody(){
Response response = given()
.header("X-application", "63fc4887-aed9-497f-bad5-d7ef2b90cdaf")
.contentType("application/json")
.body("{\n" +
" \"description\": \"Intellij \",\n" +
" \"issue_type\": {\n" +
" \"id\": \"271341877549072389\",\n" +
" \"name\": \"Design\"\n" +
" },\n" +
" \"area\": {\n" +
" \"id\": \"271341877549072406\"\n" +
" },\n" +
" \"issue_id\": \"2dd8ae7a-966e-11e8-9eb6-529269fb1459\n" +
"\n\"\n" +
"}")
.when()
.post("/projects/1879048400/areas/271341877549072406/issue/");
System.out.println(response.body().asString());
}
答复:
{"message":"Authentication Failed","errorKey":null}
不知道为什么当我尝试重新启动时它不起作用。
你能试试下面的方法吗
>
使用构建的请求规范对象进行POST调用。您可以将身份验证部分嵌入请求规范中。
private static RequestSpecification request_spec_builder_POST(Object _body, String _username, String _pass){
RequestSpecBuilder _builder = new RequestSpecBuilder();
_builder.setBody(_body);
_builder.setContentType("application/json");
PreemptiveBasicAuthScheme auth = new PreemptiveBasicAuthScheme();
auth.setUserName(_username);
auth.setPassword(_pass);
_builder.setAuth(auth);
RequestSpecification _spec = _builder.build();
return RestAssured.given(_spec);
}
在您的测试类中,使用此选项进行POST调用,如下所示:
@Test
public void myTest(){
RequestSpecification http_req = MyRequestSpecBuilder.request_spec_builder_POST(_obj, username, pass);
Response _response = http_req.post("/endPoint");
}
添加下面的代码修复了它。这是邮递员寄来的信物
.header("Authorization","Basic cG9sZWFyeTpBdXRoM250MWM=")
我已经写下了如下测试用例,并得到了以下错误, 日志错误: 失败:setpassword java.lang.AssertionError:1个预期失败。预期状态代码 代码:
我有一个很长的JSON正文,这是一个数组。我需要在POST方法的正文中发送这个。我使用放心。怎么做?
对于包含JSON主体的post请求,我使用rest assured 我的post请求代码是:- 好心的帮助....
我已经创建了非核心webapi项目来与移动应用程序交互。例如,如果我创建了一个名为Data的控制器,它有一个名为Search的方法,如下图所示。该项目已配置为发送和接收json数据。 我可以通过使用以下url,使用postman向该方法发送post请求http://localhost/api/Data/search 类似地,我可以在控制器内创建其他函数,并使用路由“/api/[controller
我必须发送一个带有xml数据的post请求,然后验证响应,例如检查状态代码和响应体。
本文向大家介绍jquery中AJAX请求 $.post方法的使用,包括了jquery中AJAX请求 $.post方法的使用的使用技巧和注意事项,需要的朋友参考一下 使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求。$.post方法是jQuery的实用工具方法。 post和get发送方式的特点, GET 方法提交数据不安全,数据置于请求行,客户端地址栏可见; GET 方法