როგორ გაგზავნოთ POST მოთხოვნა REST- ით. HTML ფორმები იყენებს POST მოთხოვნას ფორმის მონაცემების წარსადგენად და ამ სახელმძღვანელოში ვიყენებთ REST- ით დარწმუნებულს ფორმის გაგზავნისთვის.
პოსტის მოთხოვნას აქვს ოთხი ელემენტი:
URL : ეს არის იმ რესურსის ადგილმდებარეობა, რომელსაც ჩვენ ვაგზავნით მონაცემებს, მაგ. www.example.com/login
VERB : მონაცემთა გაგზავნისას ვიყენებთ POST მოთხოვნას.
მეთაურები : ეს არის მოთხოვნის სათაურები, როგორიცაა Accept ან Content-Type.
სხეული : ორგანო შეიცავს მონაცემებს, რომლებსაც ვაგზავნით პოსტის მოთხოვნის სახით. მაგალითად, ფორმის წარდგენისას ფორმის მონაცემები იგზავნება მოთხოვნის ტექსტში.
ქვემოთ მოყვანილი კოდის ნიმუში გვიჩვენებს, თუ როგორ უნდა წარადგინოთ ფორმის მონაცემები, როგორც POST მოთხოვნა, REST- ით დარწმუნებული, ვერსია 3.2.0 .
io.rest-assured
rest-assured
3.2.0
test
import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.Test; import static io.restassured.RestAssured.given; public class restAssuredPostRequest {
@Test
public void submitForm() {
RestAssured.baseURI = 'https://www.example.com';
given().urlEncodingEnabled(true)
.param('username', 'user@site.com')
.param('password', 'Pas54321')
.header('Accept', ContentType.JSON.getAcceptHeader())
.post('/login')
.then().statusCode(200);
} }
დაკავშირებული:
ფორმის მონაცემების წარდგენის გარდა, შეგიძლიათ გამოიყენოთ REST- თი დარწმუნებული POST მოთხოვნა, JSON დატვირთვის გარკვეულ რესურსზე გაგზავნის მიზნით. აქ არის მაგალითი:
import io.restassured.http.ContentType; import io.restassured.response.Response; import static io.restassured.RestAssured.given; public class PostJsonPayload {
private static String payload = '{
' +
' 'description': 'Some Description',
' +
' 'id': 'Some id',
' +
' 'name': 'Some name'
' +
'}';
public static Response postJsonPayload() {
return
given()
.contentType(ContentType.JSON)
.body(payload)
.post('/some/resource')
.then()
.statusCode(200)
.extract()
.response();
} }