Главная страница
Навигация по странице:

  • Домашнее задание

  • Примером запроса на вебсервис может являться url


    Скачать 18.39 Kb.
    НазваниеПримером запроса на вебсервис может являться url
    Дата19.11.2022
    Размер18.39 Kb.
    Формат файлаdocx
    Имя файла9 REST.docx
    ТипПротокол
    #798211

    REST
    REST (Representational State Transfer) является подходом к обеспечению вызова функций, процедур, написания запросов к удаленно работающим веб-сервисам.
    Веб-сервис при этом следует воспринимать как программу, а сам запрос – как вызов некоторой функции программы.
    Технология REST подразумевает, что запрос к удаленной системы передается в URL и через методы протокола HTTP – GET, POST, PUT, DELETE.
    Набор функций, правила написания URL запроса и форматы ответа веб-сервиса называются прикладным программным интерфейсом веб-сервиса, или API сервиса.
    Примером запроса на веб-сервис может являться URL:
    https://gturnquist-quoters.cfapps.io/api/random
    Данный URL позволяет получить с веб-сервиса, расположенного по адресу gturnquist-quoters.cfapps.io произвольную цитату о фреймворке Spring.
    Поскольку для REST используются стандартные метода протокола HTTP, запросы можно осуществлять непосредственно из браузера (это относится к GET запросам), скопировав URL в адресную строку браузера.

    Пример ответа веб-сервиса по указанному адресу является объект JSON:
    {"type":"success","value":{"id":5,"quote":"Spring Boot solves this problem. It gets rid of XML and wires up common components for me, so I don't have to spend hours scratching my head just to figure out how it's all pieced together."}}
    Более сложный пример запроса – запрос к API социальной сети ВКонтакте информации о пользователе:
    https://api.vk.com/method/users.get?user_id=210700286&v=5.52
    В URL запроса содержится информация о вызываемом методе – users.get, о параметре, передаваемом в метод: user_id=210700286, а также о версии API.
    В зависимости от статуса пользователя, направляющего запрос (авторизованный в системе, или нет), можно получить разные варианты ответа от сервера. Пример ответа на запрос от неавторизованного пользователя:

    {"error":{"error_code":5,"error_msg":"User authorization failed: no access_token passed.","request_params":[{"key":"user_id","value":"210700286"},{"key":"v","value":"5.52"},{"key":"method","value":"users.get"},{"key":"oauth","value":"1"}]}}
    Для получения информации о пользователе необходимо, чтобы в запросе присутствовал так называемый токен доступа – уникальный ключ для обращения к API сервиса.

    В целях избежания большого количества запросов, а также взимания платы за поступающие запросы, многие компании предоставляют доступ в API только по токену.

    Домашнее задание
    На предыдущих практических занятиях были рассмотрены вопросы создания баз данных для авторизации пользователей, и вопросы доступа из скриптов PHP к содержащейся в БД информации. Также рассмотрены вопросы отправки данных в формате JSON.
    Требуется написать скрипт, возвращающий информацию о пользователе из БД в формате JSON.
    Запрос выполняется из адресной строки браузера.

    Ответ на запрос возвращается в формате JSON.
    URL запроса должен быть в формате:
    http:///users.php?user_id=<id>

    где - – адрес хоста, заведенный в системе Denwer,

    – идентификатор пользователя из таблицы пользователей.
    Ответ сервера должен быть виде:
    {“status”: “fail”} – если пользователь не найден в БД.

    {“status”: “ok”, “user”: {“id”: , “name”: }}
    Вместо и должны быть подставлены значения из БД.
    Оформленное задание должно содержать в себе:
    SQL скрипт создания и заполнения БД с данными о пользователях.

    PHP скрипт, возвращающий ответ на запрос по заданному URL.

    Скриншоты ответов (положительный и отрицательный) в окне браузера.

    Выполненное задание должно быть упаковано в zip архив, именованный в следующем формате: <Фамилия>_REST.zip.


    написать администратору сайта