/
itokar98
/
HomeWorkJSPRServlets
Обзор
Документация
Войти
/
itokar98
/
HomeWorkJSPRServlets
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/organization/controller/PostController.java
67 строк
2 KB
Ilya Tokar
first_commit
14 янв 2026, 01:32
14 янв 2026, 01:32
a683d55
Код
Авторство
О чём код?
package com.organization.controller; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.organization.model.Post; import com.organization.service.PostService; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.Reader; import java.io.Writer; public class PostController { private static final Gson GSON = new GsonBuilder().create(); private static final String CONTENT_TYPE_JSON = "application/json"; private final PostService service; public PostController(PostService service) { this.service = service; } public void all(HttpServletResponse response) throws IOException { setJsonResponse(response); final var data = service.all(); writeJson(response, data); } public void getById(long id, HttpServletResponse response) throws IOException { setJsonResponse(response); try { final var post = service.getById(id); writeJson(response, post); } catch (Exception e) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); response.getWriter().write("{\"error\": \"Post not found\"}"); } } public void save(Reader body, HttpServletResponse response) throws IOException { setJsonResponse(response); final var post = GSON.fromJson(body, Post.class); final var saved = service.save(post); writeJson(response, saved); } public void removeById(long id, HttpServletResponse response) throws IOException { try { service.removeById(id); response.setStatus(HttpServletResponse.SC_NO_CONTENT); // 204 — удалён успешно } catch (Exception e) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); response.getWriter().write("{\"error\": \"Post not found\"}"); } } private void setJsonResponse(HttpServletResponse response) { response.setContentType(CONTENT_TYPE_JSON); response.setCharacterEncoding("UTF-8"); } private void writeJson(HttpServletResponse response, Object data) throws IOException { try (Writer writer = response.getWriter()) { GSON.toJson(data, writer); } } }