Перед запуском убедитесь, что вы установили Node.js версии 12 или выше.
Для запуска сервера перейдите в папку с репозиторием и выполните команду node index
. Для остановки нажмите сочетание клавиш CTRL+C.
После запуска сервера API будет доступен по пути http://localhost:3000
.
Все методы API, требующие тела запроса, ожидают получить тело в виде JSON. Ответы всех методов также отдаются в виде JSON.
GET /api/clients
получить список клиентов. Параметры, передаваемые в URL:search={search string}
поисковый запрос, при передаче метод вернёт клиентов, у которых имя, фамилия, отчество или значение одного из контактов содержат указанную подстроку
POST /api/clients
создать нового клиента. В теле запроса нужно передать объект клиента. Тело ответа успешно обработанного запроса будет содержать объект с созданным клиентом.GET /api/client/{id}
получить данные клиента по его ID. Тело ответа успешно обработанного запроса будет содержать объект клиента.PATCH /api/client/{id}
перезаписать данные о клиенте с переданным ID. Тело ответа успешно обработанного запроса будет содержать объект с обновлённым клиентом.DELETE /api/client/{id}
удалить клиента с переданному ID.
{
// ID клиента, заполняется сервером автоматически, после создания нельзя изменить
id: '1234567890',
// дата и время создания клиента, заполняется сервером автоматически, после создания нельзя изменить
createdAt: '2021-02-03T13:07:29.554Z',
// дата и время изменения клиента, заполняется сервером автоматически при изменении клиента
updatedAt: '2021-02-03T13:07:29.554Z',
// * обязательное поле, имя клиента
name: 'Василий',
// * обязательное поле, фамилия клиента
surname: 'Пупкин',
// необязательное поле, отчество клиента
lastName: 'Васильевич',
// контакты - необязательное поле, массив контактов
// каждый объект в массиве (если он передан) должен содержать непустые свойства type и value
contacts: [
{
type: 'Телефон',
value: '+71234567890'
},
{
type: 'Email',
value: '[email protected]'
},
{
type: 'Facebook',
value: 'https://facebook.com/vasiliy-pupkin-the-best'
}
]
}
Ответ сервера может содержать один из статусов ответа:
200
- запрос обработан нормально201
- запрос на создание нового элемента успешно обработан, а заголовок ответа Location содержит ссылку на GET метод получения созданного элемента404
- переданный в запросе метод не существует или запрашиваемый элемент не найден в базе данных422
- объект, переданный в теле запроса, не прошёл валидацию. Тело ответа содержит массив с описаниями ошибок валидации:[ { field: 'Название поля объекта, в котором произошла ошибка', message: 'Сообщение об ошибке, которое можно показать пользователю' } ]
500
- странно, но сервер сломался :(
Обратитесь к куратору Skillbox, чтобы решить проблему