-
Notifications
You must be signed in to change notification settings - Fork 0
Структура API
Dmitriy Boger edited this page Sep 1, 2017
·
8 revisions
HTTP REST API проекта.
Все запросы отправляются с Content-Type: application/json
и json в теле запроса. Ответ приходит в такой же форме.
Все даты представлены в формате YYYY.MM.DD
Поле | Тип данных | Описание |
---|---|---|
id | int | Уникальный идентификатор объекта (генерируется сервером) |
name | str | Имя |
group_number | str | Группа |
Поле | Тип данных | Описание |
---|---|---|
id | int | Уникальный идентификатор объекта (генерируется сервером) |
date | str | Дата посещения в формате 'YYYY.MM.DD' |
pair_num | int | Номер пары от 1 до 4 |
student_id | int | идентификатор связанный с id объекта Student |
URL | Метод | Input | Output |
---|---|---|---|
/visits/<int:visit_id> |
GET | visit_id: int |
Успешный запрос 200 {"status": "OK", "visit": <Visit>}
|
Данные отсутствуют в базе 404 {"status": "Visit not found"}
|
|||
/visits |
GET | --- |
Успешный запрос 200 {"status": "OK", "visits": [<Visit>, ...]}
|
/visits/student/<int:student_id>/date/<pair_date> |
GET | student_id: int, pair_date: str |
Успешный запрос 200 {"status": "OK", "visits": {"student": <student_id>, "date": <pair_date>, "pairs": {<pair_num>: true/false, ...}}} . |
Пример: "status": "OK", "visits": { "date": "2017.01.01", "pairs": { "1": True, "2": True, "3": False, "4": False}, "student": 1}}
|
|||
/visits/student/<int:student_id>/week/<week_start> |
GET | student_id: int, week_start: str |
Успешный запрос 200 {"status": "OK", "visit": "{'student': student_id, 'date': pair_date, 'pairs': pair_visits}"} выводится, как в предыдущем, но для 7 дней, включая заданный. |
Не существующий студент 404 {"status": "Student not found"}
|
|||
Неверный формат даты 400 {"status": "Invalid date format, try YYYY.MM.DD"}
|
|||
/visits |
POST | Visit |
Успешный запрос 201 {"status": "Created", "visit": "Visit"}
|
Неверно переданные данные 400 {"status": "<error>"}
|
|||
Не существующий студент 404 {"status": "Student not found"}
|
|||
Студент уже существует 400 {"status": "Found the same visit"}
|
|||
/visits/<int:visit_id> |
PUT | visit_id: int, Visit |
Успешный запрос 200 {"status": "Edited", "visit": "<Visit>"}
|
Неверно переданные данные 400 {"status": "<error>"}
|
|||
Несуществующий студент 404 {"status": "Student not found"}
|
|||
Посещение уже существует 400 {"status": "Found the same visit"}
|
|||
/visits/<int:visit_id> |
DELETE | visit_id: int |
Успешный запрос 200 {"status": "Visit is deleted"}
|
Несуществующие данные 404 {"status": "Visit not found"}
|
|||
/students |
GET | --- |
Успешный запрос 200 {"status": "OK", "students": [<Student>, ...]}
|
/students/<int:student_id> |
GET | student_id: int |
Успешный запрос 200 {"status": "OK", "student": "<Student>"}
|
Несуществующие данные 404 {"status": "Student not found"}
|
|||
/students/group/<group_number> |
GET | group_number: str |
Успешный запрос 200 {"status": "OK", "students": [<Student>, ...]}
|
Несуществующая группа 404 {"status": "Group not found"}
|
|||
/students |
POST | Student |
Успешный запрос 201 {"status": "Created", "student": <Student>}
|
Неверно переданные данные 400 {"status": "<error>"}
|
|||
Студент уже существует 400 {"status": "Found the same student"}
|
|||
/students/<int:student_id> |
PUT | student_id: int, Student |
Успешный запрос 200 {"status": "Edited", "student": <Student>}
|
Неверно переданные данные 400 {"status": "<error>"}
|
|||
Студент уже существует 400 {"status": "Found the same student"}
|
|||
/student/<int:student_id> |
DELETE | student_id: int |
Успешный запрос 200 {"status": "Student is deleted"}
|
Несуществующие данные 404 {"status": "Student not found"}
|