Разработка на Java — удалённая работа в Санкт-Петербурге

Дата: 2024-05-22
Детали
Регион
Санкт-Петербург
Занятость
дистанционно
Стоимость
от 1000.00 руб.
Дата публикации
2024-05-22
Описание
Выполнить задание на Java по разработке rest-api бэкэнда. Для выполнения задания пришлю файл с репозиторием, после написания кода он должен проходить по тестам на gradle. Далее будет текст задания. Веб-приложение “Анекдоты“Вам необходимо разработать rest-api бэкенда для приложения Анекдоты. Вам необходимо релизовать следующее api: 1. get /api/jokesКод ответа - 200. Возвращает все анекдоты (в теле ответа), которые были ранее сохранены на сервере в формате: { “jokes“: [ // далее список анекдотов: { “id“: 1, “title“: “Joke title“, “content“: “Joke content“, “created_at“: “28.03.2023“ }, ... ] } 2. get /api/jokes/{id}где вместо {id} - подставляет id интересуемого нас анекдота. Код ответа - 200. Возвращает анекдот с переданным id в теле ответа в следующем формате: { “id“: 1, “title“: “Joke title“, “content“: “Joke content“, “created_at“: “28.03.2023“ } Если анекдот с переданным id не найден - верните 404 c сообщением “Joke not found“ Комментарий: Как URI для сервлета укажите api/jokes/* , в самом сервлете посмотрите на метод request.getPathInfo() 3. post /api/jokesСохраняет новый анекдот. В теле запроса передает следующий json файл: { “title“: “Joke title“, “content“: “Joke content“ } Код ответа - 201. В ответ возвращает строку: “Joke created with id 1405“, что говорит нам о том, что была создана шутка и ей был присвоен id=1405 4. delete /api/jokes/{id}Удаляет анекдот с переданным id. Код ответа - 200 Если анекдот с переданным id не найден - верните 404 c сообщением “Joke not found“ Комментарий об архитектуре приложения 1.Создайте класс ApplicationServer с одним методом start(portNumber). Он принимает на вход порт, на котором запускается наше приложение. 2.В этой домашке не нужно подключаться в бд. Однако это не отменяет необходимость использования трехслойной архитектуры приложения в этой домашке. Создайте классы для каждого из слоев, распределите их по нужным пакетам. Здесь нам придется вручную сделать внедрение зависимостей. Создайте объекты классов сервисов и репозиториев в методе start из первого пункта. Положите эти объекты внутрь сервлетов. Для этого создайте объекты классов сервлетов, положите в них класс сервиса. Далее используйте класс ServletHolder для того, чтобы положить сервлеты внутрь ServletContextHandler. Это должно выглядеть следующим образом:// созданы переменные server и servletContextHandler, см пример из лекции var repository = new Repository(); var serice = new Service(repository); var servlet = new Servlet(serice); handler.addServlet(new ServletHolder(servlet), “url“); // далее идет запуск сервера. Пожелания и особенности: Выполнить задание на Java по разработке rest-api бэкэнда. Для выполнения задания пришлю файл с репозиторием, после написания кода он должен проходить по тестам на gradle. Далее будет текст задания. Веб-приложение “Анекдоты“Вам необходимо разработать rest-api бэкенда для приложения Анекдоты. Вам необходимо релизовать следующее api: 1. get /api/jokesКод ответа - 200. Возвращает все анекдоты (в теле ответа), которые были ранее сохранены на сервере в формате: { “jokes“: [ // далее список анекдотов: { “id“: 1, “title“: “Joke title“, “content“: “Joke content“, “created_at“: “28.03.2023“ }, ... ] } 2. get /api/jokes/{id}где вместо {id} - подставляет id интересуемого нас анекдота. Код ответа - 200. Возвращает анекдот с переданным id в теле ответа в следующем формате: { “id“: 1, “title“: “Joke title“, “content“: “Joke content“, “created_at“: “28.03.2023“ } Если анекдот с переданным id не найден - верните 404 c сообщением “Joke not found“ Комментарий: Как URI для сервлета укажите api/jokes/* , в самом сервлете посмотрите на метод request.getPathInfo() 3. post /api/jokesСохраняет новый анекдот. В теле запроса передает следующий json файл: { “title“: “Joke title“, “content“: “Joke content“ } Код ответа - 201. В ответ возвращает строку: “Joke created with id 1405“, что говорит нам о том, что была создана шутка и ей был присвоен id=1405 4. delete /api/jokes/{id}Удаляет анекдот с переданным id. Код ответа - 200 Если анекдот с переданным id не найден - верните 404 c сообщением “Joke not found“ Комментарий об архитектуре приложения 1.Создайте класс ApplicationServer с одним методом start(portNumber). Он принимает на вход порт, на котором запускается наше приложение. 2.В этой домашке не нужно подключаться в бд. Однако это не отменяет необходимость использования трехслойной архитектуры приложения в этой домашке. Создайте классы для каждого из слоев, распределите их по нужным пакетам. Здесь нам придется вручную сделать внедрение зависимостей. Создайте объекты классов сервисов и репозиториев в методе start из первого пункта. Положите эти объекты внутрь сервлетов. Для этого создайте объекты классов сервлетов, положите в них класс сервиса. Далее используйте класс ServletHolder для того, чтобы положить сервлеты внутрь ServletContextHandler. Это должно выглядеть следующим образом:// созданы переменные server и servletContextHandler, см пример из лекции var repository = new Repository(); var serice = new Service(repository); var servlet = new Servlet(serice); handler.addServlet(new ServletHolder(servlet), “url“); // далее идет запуск сервера.
Похожие заказы
Разработка на Java
дистанционно
договорная
Нужно создать программу на JavaScript (ECMAScript 5) для контроллера Wirenboard. wirenboard.com/wiki/Wb-rules (сводная информация) github.com/wirenboard/wb-rules (описание функционала) wirenboard.com/wiki/Rule_Examples (Примеры правил — Wiren Board) Желательно, чтобы использовались структурные подходы с методами, например как в этом боте Телеграм - github.com/aadegtyarev/telegram2wb.
Санкт-Петербург
Фрилансеры
2024-06-02
Подробнее
Разработка на Java
дистанционно
договорная
Ищем разработчика на JS, задача разработать виджет для Amocrm с автоматическим распределением заявок.
Санкт-Петербург
Фрилансеры
2024-05-28
Подробнее
Разработка на Java
дистанционно
договорная
Для проекта для дипломной работы необходим сайт. Хотя бы набросок. Для защиты. Срок неделя. Требования в документе. Нужен сайт, считающий экономическую эффективность бизнес плана.
Санкт-Петербург
Фрилансеры
2024-05-16
Подробнее
Разработка на Java
дистанционно
договорная
Помощь с лабораторной работой.
Санкт-Петербург
Фрилансеры
2024-05-05
Подробнее
Разработка на Java
дистанционно
договорная
Нужен прогер кто может Код на java - его вычисления перенести на библиотеку cudo. Пожелания и особенности: Нужен прогер кто может Код на java - его вычисления перенести на библиотеку cudo.
Санкт-Петербург
Фрилансеры
2024-04-24
Подробнее
Разработка на Java
дистанционно
договорная
Программное обеспечение для вендингового аппарата сахарной ваты. Есть китайское на аппарате, я хочу прошить, чтобы доступ и управление по было у меня.
Санкт-Петербург
Фрилансеры
2024-04-16
Подробнее