Հանգստանալու հավաստի օրինակներ ՝ GET, POST, PUT, PATCH, DELETE

Այս գրառումը բացատրում է, թե ինչպես ուղարկել API HTTP հարցումները ՝ օգտագործելով REST- ի հավաստի գրադարանը: Օրինակներն ընդգրկում են GET, POST, PUT, PATCH եւ DELETE խնդրանքներ



ՀԱՆԳՍՏԻ հավաստիացմամբ HTTP API հարցումներ

GET հարցում

HTTP GET հարցումը օգտագործվում է սերվերից ռեսուրս ստանալու համար:

Հաջորդ օրինակում օգտագործվում է get() մեթոդը REST- ի վստահ գրադարանից:


Օրինակ:

import io.restassured.RestAssured; import io.restassured.http.ContentType; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void getRequest() {
Response response = given()


.contentType(ContentType.JSON)


.when()


.get('/posts')


.then()


.extract().response();

Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('qui est esse', response.jsonPath().getString('title[1]'));
} }

Ստացեք հարցում ՝ հարցման պարամներով

Հարցման պարամետրերը GET պահանջի հետ մեկտեղ ուղարկելու համար մենք օգտագործում ենք queryParam մեթոդ:


import io.restassured.RestAssured; import io.restassured.http.ContentType; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void getRequestWithQueryParam() {
Response response = given()


.contentType(ContentType.JSON)


.param('postId', '2')


.when()


.get('/comments')


.then()


.extract().response();

Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('Meghan_Littel@rene.us', response.jsonPath().getString('email[3]'));
} }

POST հարցում

HTTP POST հարցումը օգտագործվում է սերվերի վրա տվյալներ տեղադրելու կամ ռեսուրս ստեղծելու համար:

PEST հարցումը REST- ում համոզված ուղարկելու համար մենք օգտագործում ենք post() մեթոդ:

import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
private static String requestBody = '{ ' +

' 'title': 'foo', ' +

' 'body': 'bar', ' +

' 'userId': '1' }';
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void postRequest() {
Response response = given()


.header('Content-type', 'application/json')


.and()


.body(requestBody)


.when()


.post('/posts')


.then()


.extract().response();

Assertions.assertEquals(201, response.statusCode());
Assertions.assertEquals('foo', response.jsonPath().getString('title'));
Assertions.assertEquals('bar', response.jsonPath().getString('body'));
Assertions.assertEquals('1', response.jsonPath().getString('userId'));
Assertions.assertEquals('101', response.jsonPath().getString('id'));
} }

Առնչվող:

ԴԻՐԵՔ հարցումը

PUT հարցումը թարմացնում է ռեսուրսը, բայց պահանջում է ամբողջական JSON բեռ:


REST խնդրանքով PUT հարցում ուղարկելու համար մենք օգտագործում ենք put() մեթոդ:

import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
private static String requestBody = '{ ' +

' 'title': 'foo', ' +

' 'body': 'baz', ' +

' 'userId': '1', ' +

' 'id': '1' }';
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void putRequest() {
Response response = given()


.header('Content-type', 'application/json')


.and()


.body(requestBody)


.when()


.put('/posts/1')


.then()


.extract().response();

Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('foo', response.jsonPath().getString('title'));
Assertions.assertEquals('baz', response.jsonPath().getString('body'));
Assertions.assertEquals('1', response.jsonPath().getString('userId'));
Assertions.assertEquals('1', response.jsonPath().getString('id'));
} }

PATCH հարցում

PATCH հայցը թարմացնում է ռեսուրսը, բայց պահանջում է միայն այն դաշտերը (դաշտերը), որոնք թարմացվում են բեռի մեջ.

import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
private static String requestBody = '{ ' +

' 'title': 'bax' }';
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void patchRequest() {
Response response = given()


.header('Content-type', 'application/json')


.and()


.body(requestBody)


.when()


.patch('/posts/1')


.then()


.extract().response();

Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('bax', response.jsonPath().getString('title'));
Assertions.assertEquals('1', response.jsonPath().getString('userId'));
Assertions.assertEquals('1', response.jsonPath().getString('id'));
} }

Առնչվող:

DEնջել հարցումը

DELETE հարցումն օգտագործվում է սերվերից ռեսուրս ջնջելու համար:


REST- ով վստահորեն DEնջելու հարցում ուղարկելու համար մենք օգտագործում ենք delete() մեթոդ:

import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void deleteRequest() {
Response response = given()


.header('Content-type', 'application/json')


.when()


.delete('/posts/1')


.then()


.extract().response();

Assertions.assertEquals(200, response.statusCode());
} }