Repository navigation
Выполнить задание 9 спринта: добавить работу с http сервером - #6
Conversation
milayadasha
commented
Nov 20, 2025
- Добавлен новый package c логикой работы http-сервера:
- адаптеры для обработки LocalDateTime и Duration
- классы для HttpHandler-ов
- класс HttpTaskServer, который отвечает за работу сервера
- Добавлен новый класс NotFoundException
- Доработаны методы в InMemoryTaskManager. Теперь в случае невозможность добавить/изменить/удалить задачу выбрасывается исключение
- Обновлены существующие тесты из-за обновления в п.3
- Добавлены новые тесты, покрывающие функционал из п.1
maks-avilow
left a comment
There was a problem hiding this comment.
Привет Дарья! ТЗ выполнено - зачет. Удачи в следующих спринтах
| @@ -0,0 +1,19 @@ | |||
| package ru.yandex.javacourse.http; | |||
|
|
|||
| public enum HttpStatusCode { | |||
There was a problem hiding this comment.
хорошее решение вынести статус коды в енам. лайк!
|
|
||
| public HttpTaskServer() { | ||
| taskManager = Managers.getDefault(); | ||
| port = 8080; |
There was a problem hiding this comment.
порт даже можно было вынести в константу, но твое решение корректно также
| return Duration.ofMinutes(Long.parseLong(value)); | ||
| } catch (Exception e) { | ||
| jsonReader.nextNull(); | ||
| return null; |
There was a problem hiding this comment.
да корректно. но увлекаться возвратами null нужно очень аккуратно так как это может привести к скрытым багам npe
| getAllSubtasks(exchange); | ||
| break; | ||
| case "POST": | ||
| processingRequestedSubtask(exchange, requestBody); |
There was a problem hiding this comment.
молодец что вынесла код в методы и используешь тут в точке вызова в блоках case. очень хорошо!
| processingRequestedSubtask(exchange, requestBody); | ||
| break; | ||
| default: | ||
| sendNotFound(exchange, "Некорректный метод"); |
There was a problem hiding this comment.
повтрояющиеся строки нужно не забывать выносить в константы
| @Test | ||
| @DisplayName("Должен сохранять эпик в менеджер при отправке запроса в HttpServer") | ||
| public void test_AddEpic_WhenSendEpicWithId_ManagerShouldStore() throws IOException, InterruptedException { | ||
| //given |
There was a problem hiding this comment.
спасибо за тесты и разметку given-when-then