REST API
REST API क्या है
REST API programs को HTTP पर data साझा करने देता है। Client (phone app, दूसरी site, JavaScript) एक URL को request भेजता है, और आपका PHP server data से जवाब देता है — लगभग हमेशा JSON के रूप में। web page लौटाने के बजाय, server साफ़ data लौटाता है जिसे client इस्तेमाल कर सके।
HTTP methods
| Method | Action | CRUD |
|---|---|---|
| GET | Data लाना | Read |
| POST | नया data जोड़ना | Create |
| PUT / PATCH | Data बदलना | Update |
| DELETE | Data हटाना | Delete |
हर action के लिए सही method इस्तेमाल करना ही API को "RESTful" और दूसरों के लिए समझने में आसान बनाता है।
JSON भेजना
<?php
header("Content-Type: application/json");
$data = ["name" => "Aman", "class" => 12];
echo json_encode($data);
?>
Header client को बताता है जवाब JSON है, और json_encode आपके PHP array को JSON string में बदलता है। यह हर API response का मूल है।
Request data पढ़ना
<?php
$method = $_SERVER["REQUEST_METHOD"]; // GET, POST...
$id = $_GET["id"] ?? null; // URL में ?id=5
// JSON body (POST/PUT) के लिए:
$body = json_decode(file_get_contents("php://input"), true);
?>
method को $_SERVER से, URL parameters को $_GET से, और raw JSON body को php://input से पढ़ते हैं, जिसे array में decode करते हैं।
एक सरल endpoint
<?php
header("Content-Type: application/json");
$method = $_SERVER["REQUEST_METHOD"];
if ($method === "GET") {
echo json_encode(["message" => "Here is your data"]);
} elseif ($method === "POST") {
http_response_code(201);
echo json_encode(["message" => "Created"]);
} else {
http_response_code(405);
echo json_encode(["error" => "Method not allowed"]);
}
?>
यह एक file HTTP method के आधार पर अलग जवाब देती है — असली API endpoint का बुनियादी आकार।
Status codes
http_response_code() से client को बताइए क्या हुआ।
<?php
http_response_code(404);
echo json_encode(["error" => "Not found"]);
?>
आम codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Server Error। सही codes clients को अनुमान के बजाय ठीक react करने देते हैं।
आम गलतियाँ
- JSON header भूलना। इसके बिना clients जवाब को JSON न समझें।
- हमेशा 200 लौटाना। असली status codes इस्तेमाल कीजिए ताकि errors साफ़ हों।
- JSON body को
$_POSTसे पढ़ना। Raw JSONphp://inputसे आता है,$_POSTसे नहीं। - Input validation न करना। API input भी user input है — validate कीजिए और prepared statements इस्तेमाल कीजिए।
सारांश
- REST API HTTP पर data साझा करता है, आमतौर पर JSON के रूप में।
- Methods CRUD से मैप होते हैं: GET, POST, PUT/PATCH, DELETE।
- JSON लौटाइए header और
json_encodeसे। - method,
$_GET, और JSON bodyphp://inputसे पढ़िए। - सही status codes set कीजिए
http_response_code()से।
आगे, data format कीजिए PHP JSON से, या अपना API सुरक्षित कीजिए JWT authentication से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
REST API क्या है?
REST API में मुख्य HTTP methods क्या हैं?
PHP से JSON कैसे लौटाएँ?
header("Content-Type: application/json") से header set कीजिए, फिर echo json_encode($data)। यह client को बताता है response JSON है और data उसी format में भेजता है।Request का method और body कैसे पढ़ें?
$_SERVER["REQUEST_METHOD"], query parameters को $_GET, और raw JSON body को file_get_contents("php://input") जिसे फिर json_decode करते हैं।API में status codes क्यों मायने रखते हैं?
http_response_code() से सही code set करना clients को responses ठीक से संभालने देता है।