Что такое REST API и как с ним работать?

REST (Representational state transfer) – это стиль архитектуры программного обеспечения для распределенных систем, таких как World Wide Web, который, как правило, используется для построения веб-служб. Термин REST был введен в 2000 году Роем Филдингом, одним из авторов HTTP — протокола. Системы, поддерживающие REST, называются RESTful-системами.

В основном используются следующие HTTP — методы:

  • GET — для получения одного или нескольких объектов
  • POST — для создания, редактирования или удаления объектов
  • PUT — для создания или изменения объекта
  • PATCH — для создания или изменения объекта
  • DELETE — для удаления объекта

Рассмотрим данные методы на следующем примере:

Допустим у нас есть некий ресурс, доступный по URL: «http://nowadays.name/resources/Books/», который хранит следующую информацию о книгах:

{

    "objects":[
        {
            "id":1,
            "name":"Python 2.7",
            "year":2008
        },
        {
            "id":2,
            "name":"Java",
            "year":2014
        },
        {
            "id":3,
            "name":"C++",
            "year":1999
        }
    ]

}
  1. Чтобы получить информацию о всех имеющихся книгах нам нужно выполнить GET запрос по следующему адресу: «http://nowadays.name/resources/Books/«
  2. Если мы хотим получить информацию только по 2й книге, то нам следует добавить id книги к URL. А именно, GET + «http://nowadays.name/resources/Books/2/«
  3. Чтобы добавить новую книгу, следует отправить POST или PUT запрос по адресу «http://nowadays.name/resources/Books/» c телом запроса, содержащим {«name»: «PHP», «year»: 2015}
  4. Чтобы удалить 3ю книгу, нужно отправить DELETE запрос по адресу «http://nowadays.name/resources/Books/3/» или можно отправить POST запрос по данному адресу, но с пустым телом запроса
  5. Если нам нужно изменить имя или год у первой книги, то следует использовать PATCH запрос по адресу «http://nowadays.name/resources/Books/1/» с телом запроса, содержащим {«name»: «New Name»} или {«year»: 2016}
  6. Если же нам требуется изменить полностью весь объект, то для этих целей подойдет PUT запрос по адресу «http://nowadays.name/resources/Books/1/» с телом запроса, содержащим {«name»: «Python 3.0», «year»: 2017}
inactive / 07.10.2018
SHARE

Leave a Reply