Tuesday, October 12, 2021

Body parsing และ Json response สำหรับ Slim 4

  •  ประเด็นคือ client ส่งค่าแบบ json body มา content-type เป็น application/json
  • ใน slim 3 การรับที่ฝั่ง method ก็ง่ายๆ คือ สมมุติเราส่ง json body เป็น

{"user":"a", "age":4}

  • การรับค่าที่ฝั่ง method ใน slim framework 3 จะประมาณนี้

$data = $request->getParsedBody();    

$tmp = $data["your_param_name"]; 

return $response->withJson($result, 200);

  • แต่ใน ฝั่ง Slim 4 ต้องเพิ่มคอนฟิกประมาณนี้ใน index.php หรือ ใน routes.php 

$app->addBodyParsingMiddleware();

$app->addRoutingMiddleware();

$app->addErrorMiddleware(true, true, true);


  • อันนี้ที่ index.php


  • และอันนี้ app/routes.php


$data = $request->getParsedBody();

// $data = array('name' => 'Bob', 'age' => 40);

$payload = json_encode($data);

$response->getBody()->write($payload);

return $response->withHeader('Content-Type', 'application/json')->withStatus(200);

Ref

  • https://www.slimframework.com/docs/v4/middleware/body-parsing.html
  • https://www.slimframework.com/docs/v4/objects/response.html#returning-json

No comments:

Post a Comment

Popular Posts