1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ytu94-back-end

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
课程接口.md 6.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 14:32 5e9bc75

Курс интерфейса

  • Список курсов по страницам
  • Детали курса
  • Перечень видео в курсе
  • Комментарии к курсу
  • Отправка комментария к курсу

Список курсов по страницам

Адрес интерфейса:

/api/v1/courses

Метод запроса: GET.

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

Параметр Значение по умолчанию Описание
page_size 10 Количество элементов на странице
page 1 Номер страницы
keywords Ключевые слова для поиска видео по названию

Ответные параметры:

Успех:

{
    "data": [
        {
            "id": 1,
            "title": "Vivienne Reichel",
            "slug": "ut-beatae-perspiciatis-sit-nisi-explicabo",
            "thumb": "https://lorempixel.com/640/480/?87563",
            "charge": 9,
            "short_description": "<p>Miss</p>",
            "published_at": 1539482458
        }
    ],
    "links": {
        "first": "http://127.0.0.1:8000/api/v1/courses?page=1",
        "last": "http://127.0.0.1:8000/api/v1/courses?page=5",
        "prev": null,
        "next": "http://127.0.0.1:8000/api/v1/courses?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 5,
        "path": "http://127.0.0.1:8000/api/v1/courses",
        "per_page": 10,
        "to": 10,
        "total": 50
    }
}

Описание полей ответа:

Поле Описание
data[].id Идентификатор курса
data[].title Название курса
data[].slug Идентификатор курса
data[].thumb Изображение обложки курса
data[].charge Стоимость курса
data[].short_description Краткое описание курса
data[].published_at Время публикации курса

Детали курса

Адрес:

/api/v1/course/{id}

Метод запроса: GET.

Запрос не содержит параметров.

Ответные параметры:

Успех (200):

{
    "data": {
        "id": 1,
        "title": "Vivienne Reichel",
        "slug": "ut-beatae-perspiciatis-sit-nisi-explicabo",
        "thumb": "https://lorempixel.com/640/480/?87563",
        "charge": 9,
        "short_description": "<p>Miss</p>",
        "description": "<p>Eos et neque qui ut doloribus. Quis at consectetur recusandae sed eius non laborum aut. Et nihil laudantium est. Sint qui quidem labore enim vero autem aut.</p>",
        "published_at": 1539482458
    }
}

Ответные параметры аналогичны параметрам списка курсов по страницам.

Неудача (не 200, например, 404):

{
    "message": "No query results for model [App\\Models\\Course].",
    "code" : 500
}

Перечень видео в курсе

Интерфейс:

/api/v1/course/{id}/videos

Метод запроса: GET.

Запроса не содержит параметров.

Ответные параметры:

Успех (200):

{
    "data": [
        {
            "id": 1,
            "title": "Crystel Collier",
            "slug": "quia-voluptatibus-eaque-debitis-placeat-iusto-libero-nulla-quibusdam",
            "view_num": 4,
            "charge": 179,
            "short_description": "<p>Prof.</p>",
            "published_at": 389614221
        }
    ]
}

Описание параметров:

Поле Описание
data[].id Идентификатор видео
data[].title Название видео
data[].slug Идентификатор видео
data[].view_num Количество просмотров видео
data[].charge Стоимость видео
data[].short_description Краткое описание видео
data[].published_at Дата публикации видео

Комментарии к курсу

Интерфейс:

/api/v1/course/{id}/comments

Метод запроса: GET.

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

Поле Значение по умолчанию
page_size 10
page 1

Ответные параметры:

{
    "data": [
        {
            "user": {
                "avatar": "/images/default_avatar.jpg",
                "nick_name": "小滕",
                "mobile": "13675626825",
                "role": {
                    "role": "年度会员",
                    "expired_at": 1550196621
                },
                "unread_notification_num": 0
            },
            "content": "<p>123123 &#x1f604;</p>",
            "created_at": 1539570110
        }
    ],
    "links": {
        "first": "http://127.0.0.1:8000/api/v1/course/1/comments?page=1",
        "last": "http://127.0.0.1:8000/api/v1/course/1/comments?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://127.0.0.1:8000/api/v1/course/1/comments",
        "per_page": 10,
        "to": 1,
        "total": 1
    }
}

Описание параметров:

Поле «данные» содержит информацию о комментариях к курсу.

Поле «ссылки» содержит ссылки на страницы с комментариями.

Поле «мета» содержит метаинформацию о запросе.

Отправка комментария к курсу

Интерфейс (POST):

/api/v1/course/{id}/comment

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

Поле Значение
Текст комментария
{
    "data": {
        "user": {
            "avatar": "/images/default_avatar.jpg",
            "nick_name": "小滕",
            "mobile": "13675626825",
            "role": {
                "role": "年度会员",
                "expired_at": 1550196621
            },
            "unread_notification_num": 0
        },
        "content": "<p>123123 &#x1f604;</p>",
        "created_at": 1539570110
    }
}

Комментарий успешно возвращён вместе со связанным содержимым.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ytu94-back-end.git
git@api.gitlife.ru:oschina-mirror/ytu94-back-end.git
oschina-mirror
ytu94-back-end
ytu94-back-end
master