REST của

chuyển trạng thai biểu hiện

REST là từ viết tắt của chuyển trạng thai biểu hiện.

Là gì chuyển trạng thai biểu hiện?

Một phong cách kiến ​​trúc để thiết kế các ứng dụng nối mạng. Trong hầu hết mọi trường hợp, nó dựa trên giao thức truyền thông không trạng thái, máy khách-máy chủ, có thể lưu trong bộ nhớ đệm, HTTP giao thức. Ý tưởng đằng sau REST là coi tất cả tài nguyên phía máy chủ là các đối tượng có thể được tạo, đọc, cập nhật hoặc xóa thông qua một tập hợp các thao tác được xác định. Khái niệm này phù hợp chặt chẽ với các hoạt động tiêu chuẩn được hỗ trợ bởi HTTP: POST, GET, PUT và DELETE.

Tại sao nó được gọi là chuyển giao nhà nước đại diện

Thuật ngữ chuyển trạng thai biểu hiện được chọn vì những lý do cụ thể:

  • đại diện đề cập đến các biểu diễn tài nguyên (tài liệu hoặc đối tượng bạn yêu cầu từ máy chủ) được truyền qua mạng. Máy khách có thể dễ dàng xử lý các biểu diễn này theo các định dạng như XML, JSON, hoặc là YAML.
  • Chuyển giao tiểu bang ngụ ý rằng mọi tương tác giữa máy khách và máy chủ đều chuyển một trạng thái. Khi máy khách yêu cầu một tài nguyên, phản hồi của máy chủ về cơ bản là chuyển trạng thái của tài nguyên đó cho máy khách. Việc chuyển trạng thái này cho phép ứng dụng RESTful không có trạng thái, nghĩa là mỗi yêu cầu từ máy khách đến máy chủ phải chứa tất cả thông tin cần thiết để hiểu và hoàn thành yêu cầu. Máy chủ không lưu trữ bất kỳ trạng thái nào về phiên máy khách ở phía máy chủ.

Nguyên tắc của REST

REST được xây dựng dựa trên một số nguyên tắc chính xác định tính đơn giản và sức mạnh của nó:

  1. Không trạng thái: Mỗi yêu cầu từ máy khách đến máy chủ phải chứa tất cả thông tin cần thiết để hiểu và hoàn thành yêu cầu. Máy chủ không có trạng thái phiên; nó được giữ hoàn toàn về phía khách hàng.
  2. Máy khách-Máy chủ: Một giao diện thống nhất tách biệt máy khách với máy chủ. Sự phân tách mối quan tâm này hỗ trợ sự phát triển độc lập của logic phía máy khách và lưu trữ dữ liệu phía máy chủ, cải thiện tính di động của giao diện máy khách trên nhiều nền tảng.
  3. Có thể lưu vào bộ nhớ đệm: Các phản hồi phải tự xác định là có thể lưu vào bộ nhớ đệm hay không để ngăn khách hàng sử dụng lại dữ liệu cũ hoặc không phù hợp để đáp ứng các yêu cầu tiếp theo.
  4. Hệ thống phân lớp: Thông thường, khách hàng không thể biết liệu nó được kết nối trực tiếp với máy chủ cuối hay với một trung gian. Máy chủ trung gian có thể cải thiện khả năng mở rộng hệ thống bằng cách cho phép cân bằng tải và cung cấp bộ nhớ đệm dùng chung.
  5. Giao diện đồng nhất: Để có được lợi ích của REST, các ứng dụng phải tuân thủ một giao diện thống nhất. Điều này thường liên quan đến việc sử dụng các phương thức HTTP tiêu chuẩn một cách nhất quán và tuân theo các URL hướng tài nguyên.

Ví dụ về PHP

Tạo API RESTful trong PHP bao gồm việc xử lý các yêu cầu HTTP (GET, POST, PUT, DELETE) và phản hồi bằng dữ liệu ở định dạng như JSON hoặc XML. Đây là ví dụ đơn giản về API RESTful trong PHP quản lý danh sách tác vụ. Ví dụ này minh họa việc xử lý các yêu cầu GET và POST để đơn giản.

T PHP Ví dụ này sẽ chỉ cho bạn cách tạo hai điểm cuối: một để truy xuất danh sách tác vụ (GET /tasks) và một cái khác để thêm một nhiệm vụ mới (POST /tasks).

index.php – Điểm vào

<?php
// Define a simple array of tasks as our "database"
$tasks = [
    ['id' => 1, 'title' => 'Buy groceries', 'completed' => false],
    ['id' => 2, 'title' => 'Finish homework', 'completed' => false]
];

// Get the request method
$requestMethod = $_SERVER['REQUEST_METHOD'];

// Simple router
switch ($requestMethod) {
    case 'GET':
        getTasks();
        break;
    case 'POST':
        addTask();
        break;
    default:
        // Handle other HTTP methods or return an error
        header('HTTP/1.1 405 Method Not Allowed');
        break;
}

function getTasks() {
    global $tasks;
    header('Content-Type: application/json');
    echo json_encode($tasks);
}

function addTask() {
    global $tasks;
    $input = json_decode(file_get_contents('php://input'), true);
    if (!isset($input['title']) || !isset($input['completed'])) {
        header('HTTP/1.1 400 Bad Request');
        echo json_encode(['message' => 'Missing title or completed status']);
        return;
    }

    $newTask = [
        'id' => end($tasks)['id'] + 1,
        'title' => $input['title'],
        'completed' => $input['completed']
    ];

    $tasks[] = $newTask;
    header('Content-Type: application/json');
    echo json_encode($newTask);
}

?>

Cách thức Hoạt động

  • Tập lệnh này hoạt động như một điểm cuối API đơn giản. Tùy thuộc vào phương thức yêu cầu HTTP, nó sẽ trả về danh sách các tác vụ (GET) hoặc thêm một nhiệm vụ mới vào danh sách (POST).
  • Trong GET yêu cầu, nó chỉ đơn giản là xuất ra $tasks mảng ở định dạng JSON.
  • Trong POST yêu cầu, nó sẽ đọc tải trọng JSON từ phần thân yêu cầu (được cho là chứa titlecompleted trạng thái), thêm một nhiệm vụ mới vào $tasks mảng và trả về tác vụ mới dưới dạng JSON.
  • Ví dụ này sử dụng mảng toàn cục PHP làm cơ sở dữ liệu mô phỏng. Trong ứng dụng thực tế, bạn có thể tương tác với cơ sở dữ liệu để lưu trữ và truy xuất các tác vụ.

Kiểm tra API

Bạn có thể kiểm tra API này bằng các công cụ như Postman hoặc cURL. Ví dụ: để thêm một nhiệm vụ mới:

curl -X POST -H "Content-Type: application/json" -d '{"title":"Learn REST","completed":false}' http://localhost/index.php

Và để có được danh sách nhiệm vụ:

curl -X GET http://localhost/index.php

Đây là một ví dụ rất cơ bản nhằm minh họa khái niệm về API RESTful trong PHP. Các tình huống trong thế giới thực sẽ yêu cầu xử lý các yêu cầu, quản lý lỗi và cân nhắc bảo mật mạnh mẽ hơn như xác thực và xác thực đầu vào.

  • Viết tắt: REST của
Back to top
Đóng

Đã phát hiện ra khối quảng cáo

Martech Zone có thể cung cấp cho bạn nội dung này miễn phí vì chúng tôi kiếm tiền từ trang web của mình thông qua doanh thu quảng cáo, liên kết đơn vị liên kết và tài trợ. Chúng tôi sẽ đánh giá cao nếu bạn xóa trình chặn quảng cáo của mình khi bạn xem trang web của chúng tôi.