Ответы пользователя по тегу RESTful API
  • Как сделать свой REST API?

    VlasenkoFedor
    @VlasenkoFedor
    Программист: php, js, go
    index.php
    <?php
    # Author - Fedor Vlasenko, vlasenkofedor@gmail.com
    define('METHOD', $_SERVER['REQUEST_METHOD']);
    define('URI', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
    
    function router($url, ...$args)
    {
        (empty($args[1]) || false !== strpos(METHOD, $args[0]))
        && (URI === $url || preg_match('#^' . $url . '$#iu', URI, $match))
        && die(call_user_func_array(end($args), $match ?? []));
    }
    
    router('/api/games', 'GET', function () {
        echo 'список игрушек';
    });
    
    router('/api/game/(\d+)', 'GET', function (...$args) {
        echo 'информация о игрушке: ', $args[1];
    });
    
    router('/api/games', 'POST', function () {
        echo 'добавить новую игрушку';
    });
    
    router('/api/games/(\d+)', 'PUT', function (...$args) {
        echo 'обновить существующую игрушку: ', $args[1];
    });
    
    router('/api/games/(\d+)', 'DELETE', function (...$args) {
        echo ' удалить игрушку: ', $args[1];
    });
    
    header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
    echo '404';

    далее в консоли запускаем встроенный php сервер
    php -S localhost:8000 index.php
    тестируем и наслаждаемся :-)
    Ответ написан
    2 комментария