Skip to content

Структура API

Dmitriy Boger edited this page Sep 1, 2017 · 8 revisions

HTTP REST API проекта. Все запросы отправляются с Content-Type: application/json и json в теле запроса. Ответ приходит в такой же форме. Все даты представлены в формате YYYY.MM.DD

Student

Поле Тип данных Описание
id int Уникальный идентификатор объекта (генерируется сервером)
name str Имя
group_number str Группа

Visit

Поле Тип данных Описание
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"}
Clone this wiki locally