@SuperAndrew1

Как API работает без папок на хостинге?

Если на хостинге в моём домене в корне есть папка folder (а в ней хотя бы index.html) - я могу перейти по адресу https://domain.com/folder

Если в папке folder есть, например, папка 1 (а в ней тоже index.html) - то я могу перейти по адресу https://domain.com/folder/1

Но как это работает в случае с API? Например в Laravel или Django не нужно создавать отдельную папку для того, чтобы изменить запись с каким-то id в БД, но при этом если я перехожу на https://domain.com/api/user/1/delete (а такого пути у меня на хостинге нет) - мне не выбивает 404, а происходит то, что прописано в контроллере. Но если я перейду по другому пути, которого тоже нет на хостинге (например, https://domain.com/adfdfg4/asdf32w4rfefds/) - то выдаст 404, потому что этой папки нет.

В обоих случаях этих папок нет на хостинге, но почему-то используя апи не выбивает 404. Как это работает?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В настройках сайта делается переадресация (например, через .htaccess).
Адрес https://domain.com/api/user/1/delete может быть направлен на
https://domain.com/api/index.php?request=/user/1/delete
.
Ответ написан
Grapeoff
@Grapeoff
В чём концепция...?
По программируйте на каком-нибудь NodeJS и сразу всё поймёте.

Там просто отслеживается запрос на какой-то путь, и если на этот путь есть обработчик, он вызывается.

const requestListener = function (req, res) {
    res.setHeader("Content-Type", "application/json");
    switch (req.url) {
        case "/books":
            res.writeHead(200);
            res.end("hello world");
            break
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы