такую информацию нашел, хз это ли надо тебе
Спецификация запроса
Для наполнения спецификации необходимо передать Function<RequestSpecification, RequestSpecification> в вызываемый запрос. Из функции spec доступен весь функционал спецификации, доступный в RestAssured.
Простой пример POST-запроса:
restService.restClient()
.post(spec -> spec
.header("Content-Type", "application/json")
.cookie("JSESSIONID", "123")
.queryParams("test", "1")
.body("{\"key\": \"value\"}"),
"http://test.ru/test1/test2")
.should(
haveStatusCode(200),
haveBodyJsonValueEqualTo("status.code", "51"),
notHaveEmptyBody()
);
3. Поддерживаемые HTTP-методы
Метод Метод в RestClient
GET .get(spec, url, pathParams)
POST .post(spec, url, pathParams)
PUT .put(spec, url, pathParams)
PATCH .patch(spec, url, pathParams)
DELETE .delete(spec, url, pathParams)
HEAD .head(spec, url, pathParams)
REQUEST .request(method, spec, url, pathParams)
4. Пример POST-запроса
String body = """
{
"systemData": {
"requestId": "123",
"processId": "456"
},
"usaVersion": "3.0"
}
""";
restService.restClient()
.post(spec -> spec
.header("Content-Type", "application/json")
.body(body),
"http://test.ru/test1/test2")
.should(
haveStatusCode(200),
haveBodyJsonValueEqualTo("status.code", "51"),
notHaveEmptyBody()
);
После отправки запроса используйте .should() для проверок.
При отправке запроса возвращается объект типа ValidatableResponseWrapper из которого доступен вызов .should().
Для ValidatableResponseWrapper выполняются проверки RestMatchers(валидация всего ответа целиком, тело, куки, статус код и т.д.).
Если необходимо валидировать только тело, требуется привести его к нужному формату(XML или Json) при помощи вызова .toValidatableJson() или .toValidatableXml(). Далее также вызвать .should() внутри которого будут доступны мэтчеры для Json или XML.
import static ru.sber.qa.matchers.RestMatchers.haveHeaderName;
import static ru.sber.qa.matchers.RestMatchers.haveHeaderValue;
restService.restClient()
.post(spec -> spec.header("Content-Type", "application/json"), "https://api.example.com/data")
.should(
haveStatusCode(201),
haveHeaderName("X-Request-Id"),
haveHeaderValue("Content-Type", equalToText("application/json"))
);