REST

Representational State Transfer (передача репрезентативного состояния)

  1. Модель клиент-сервер
  2. Отсутствие состояния
  3. Кэширование
  4. Единообразие интерфейса
  5. Слои
  6. Код по требованию

REST

не прижилось

  1. Модель клиент-сервер
  2. Отсутствие состояния
  3. Кэширование
  4. Единообразие интерфейса
  5. Слои
  6. Код по требованию

Ресурсы REST

  • http://localhost:8000/students
  • http://localhost:8000/students/sheldon
  • http://localhost:8000/students/sheldon/lessons

Глаголы REST

  • GET
  • POST
  • DELETE
  • PUT

Данные REST

JSON и др. (XML)

Параметры запроса

  • путь
  • форма (resource?name=sheldon)
  • заголовок запроса (например: пользователь)
  • тело запроса

OpenApi

https://swagger.io/specification/

openapi: "3.0.0"
info:
  version: 1.0.0
  title: Test API
paths:
    ...

OpenApi

paths:
  /hello:
    get:
      summary: Say hello
      operationId: hello
      parameters:
        - name: user
          in: query
          description: User name to appear in greetings
          required: false
          schema:
            type: string
            default: 'world'
      responses:
        '200':
          description: Greeting
          content:
            'text/plain':
               schema:
                 type: "string"