PHP + JSON 으로 rest API 만들기
Server Side/PHP2016. 12. 11. 22:24
가져가게 하기 -
가져오기 -
// This is the API, 2 possibilities: show the app list or show a specific app by id. // This would normally be pulled from a database but for demo purposes, I will be hardcoding the return values. function get_app_by_id($id) { $app_info = array(); // normally this info would be pulled from a database. // build JSON array. switch ($id){ case 1: $app_info = array("app_name" => "Web Demo", "app_price" => "Free", "app_version" => "2.0"); break; case 2: $app_info = array("app_name" => "Audio Countdown", "app_price" => "Free", "app_version" => "1.1"); break; case 3: $app_info = array("app_name" => "The Tab Key", "app_price" => "Free", "app_version" => "1.2"); break; case 4: $app_info = array("app_name" => "Music Sleep Timer", "app_price" => "Free", "app_version" => "1.9"); break; } return $app_info; } function get_app_list() { //normally this info would be pulled from a database. //build JSON array $app_list = array(array("id" => 1, "name" => "Web Demo"), array("id" => 2, "name" => "Audio Countdown"), array("id" => 3, "name" => "The Tab Key"), array("id" => 4, "name" => "Music Sleep Timer")); return $app_list; } $possible_url = array("get_app_list", "get_app"); $value = "An error has occurred"; if (isset($_GET["action"]) && in_array($_GET["action"], $possible_url)) { switch ($_GET["action"]) { case "get_app_list": $value = get_app_list(); break; case "get_app": if (isset($_GET["id"])) $value = get_app_by_id($_GET["id"]); else $value = "Missing argument"; break; } } //return JSON array exit(json_encode($value));
가져오기 -
<html>
<body>
<?php
if (isset($_GET["action"]) && isset($_GET["id"]) && $_GET["action"] == "get_app")
{
$app_info = file_get_contents('http://{Your Website}/api.php?action=get_app&id=' . $_GET["id"]);
$app_info = json_decode($app_info, true);
?>
<table>
<tr>
<td>App Name: </td><td> <?php echo $app_info["app_name"] ?></td>
</tr>
<tr>
<td>Price: </td><td> <?php echo $app_info["app_price"] ?></td>
</tr>
<tr>
<td>Version: </td><td> <?php echo $app_info["app_version"] ?></td>
</tr>
</table>
<br />
<a href="http://{Your Website}/REST_Client.php?action=get_app_list" alt="app list">Return to the app list</a>
<?php
}
else // else take the app list
{
$app_list = file_get_contents('http://{Your Website}/api.php?action=get_app_list');
$app_list = json_decode($app_list, true);
?>
<ul>
<?php foreach ($app_list as $app): ?>
<li>
<a href=<?php echo "http://{Your Website}/REST_Client.php?action=get_app&id=" . $app["id"] ?> alt=<?php echo "app_" . $app_["id"] ?>><?php echo $app["name"] ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php
} ?>
</body>
</html>
참고 URL -
http://blog.ijasoneverett.com/2013/02/rest-api-a-simple-php-tutorial/
'Server Side > PHP' 카테고리의 다른 글
curl 로 파라미터 전송 (0) | 2017.03.30 |
---|---|
배열 담은 함수 뽑기 (0) | 2017.02.20 |
PHP json 인코딩 처리 (0) | 2016.12.02 |
서버로 Request 요청 후 DB 인풋 (0) | 2016.11.20 |
php interface 사용방법 (0) | 2016.10.01 |