Отправьте заголовки API в состоянии покоя, используя java - PullRequest
1 голос
/ 09 января 2020

Заголовки 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.

Ответы [ 3 ]

1 голос
/ 09 января 2020

Ваш httpRequest.headers("accesstoken", "kggkgkgkgketdfgxgcccvcdftfty."); не так. Должно быть:

 httpRequest.headers("Authorization", "Bearer "+token);
0 голосов
/ 10 января 2020

Это проблемы, о которых я могу подумать

  1. Это может быть внутренний API, и он ожидает «Предоставить маркер приложения», а не «accesstoken»
  2. Код ошибки вы получаете 404. Таким образом, либо служба не работает, либо URL, который вы используете, неверен.

Надеюсь, это поможет:)

0 голосов
/ 10 января 2020

Вы можете попробовать это один раз

Response resp = given().when().contentType(ContentType.JSON).header("accesstoken", "token").body(body).put("url");

Вы можете передать HashMap как тело

...