首页 > 解决方案 > 使用 java 以 Rest Assured 方式发送 API 标头

问题描述

API 标头有两个参数 Content-Type=application/json 和 accesstoken = "some_token" 我尝试使用“放心但不成功”来自动化 API。下面是代码

RestAssured.baseURI = prop.getProperty("serviceurl1");

//2. define the http request:
RequestSpecification httpRequest = RestAssured.given()  
                .filter(new ResponseLoggingFilter())
                .filter(new RequestLoggingFilter());

JSONObject requestParams = new JSONObject();
requestParams.put("longitude", eLongitude);
requestParams.put("latitude", eLaititude);
requestParams.put("country", eCity);

httpRequest.headers("Content-Type", "application/json");
httpRequest.headers("accesstoken", "some_token.");
httpRequest.body(requestParams.toJSONString());
int statusCode = response.getStatusCode();
System.out.println("the status code is: "+ statusCode);

Assert.assertEquals(statusCode, TestUtil.RESPONSE_CODE_200);

System.out.println("the status line is: "+ response.getStatusLine());

//6. get the headers:
Headers headers = response.getHeaders();
System.out.println(headers);

String contentType = response.getHeader("Content-Type");
System.out.println("the value of content-type header is: "+ contentType);

String contentLength = response.getHeader("Content-Length");
System.out.println("the value of Content-Length header is: "+ contentLength);

获取错误消息作为“提供应用程序令牌”和 404 错误代码显示。

标签: javarest-assured

解决方案


httpRequest.headers("accesstoken", "kggkgkgkgketdfgxgcccvcdftfty.");错了。它应该是:

 httpRequest.headers("Authorization", "Bearer "+token);

推荐阅读