/
on-line-javalex
/
HW_NoSQL_JavaData
Обзор
Документация
Войти
/
on-line-javalex
/
HW_NoSQL_JavaData
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Mommy/controller/UserController.java
81 строка
3 KB
on-line-javalex
create: GlobalExceptionHandler.java, OpenApiConfig.java, UserController.java, UserCreateRequest.java, UserResponse.java, User.java, UserMapper.java, MommyApplication.java, UserRepository.java, UserService.java
12 май 2026, 13:58
Верифицирован
12 май 2026, 13:58
aac6fe8
Код
Авторство
О чём код?
package Mommy.controller; import Mommy.dto.UserCreateRequest; import Mommy.entity.User; import Mommy.dto.UserResponse; import Mommy.mapper.UserMapper; import Mommy.service.UserService; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.web.PageableDefault; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; @Slf4j @RestController @RequestMapping("/api/users") public class UserController { private final UserService userService; public UserController(UserService userService) { this.userService = userService; } @GetMapping("/{id}") public UserResponse getUserById(@PathVariable String id) { log.info("Запрос пользователя {} через - getUserById.", id); User u = userService.findById(id); return UserMapper.toResponse(u); } @GetMapping public Page<UserResponse> getAllUsers(@PageableDefault(size = 20, sort = "name") Pageable pageable) { log.info("Получение списка пользователей: page={}, size={}", pageable.getPageNumber(), pageable.getPageSize()); return userService.findAll(pageable); } @PostMapping @ResponseStatus(HttpStatus.CREATED) public UserResponse createUser(@Valid @RequestBody UserCreateRequest request) { User u = UserMapper.toCreate(request); User saved = userService.create(u); return UserMapper.toResponse(saved); } @PutMapping("/{id}") public UserResponse updateUser(@PathVariable String id, @Valid @RequestBody UserCreateRequest request) { log.info("Обновление пользователя с id {}", id); User exist = userService.findById(id); UserMapper.updateFromRequest(request, exist); exist = userService.save(exist); return UserMapper.toResponse(exist); } @DeleteMapping("/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteUser(@PathVariable String id) { log.warn("Удаление пользователя с id {}", id); userService.deleteById(id); } @PatchMapping("/{id}/restore") public UserResponse restoreUser(@PathVariable String id) { log.info("Восстановление пользователя с id {}", id); User user = userService.findByIdHard(id); user.setDeleted(false); userService.save(user); return UserMapper.toResponse(user); } @DeleteMapping @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteAllUsers() { log.warn("Удаление всех пользователей!"); userService.deleteAll(); } }