/
drobash
/
AdBoard_service
Обзор
Документация
Войти
/
drobash
/
AdBoard_service
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/org/example/controller/UserController.java
55 строк
2 KB
dushesp
Добавлен CorsConfig и HealthController для работы с фронтендом
15 апр 2025, 01:00
15 апр 2025, 01:00
09315c6
Код
Авторство
О чём код?
package org.example.controller; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.example.dto.request.UserRequestDto; import org.example.dto.response.UserResponseDto; import org.example.exception.ResourceNotFoundException; import org.example.service.UserService; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/users") @RequiredArgsConstructor public class UserController { private final UserService service; @GetMapping("/me") public UserResponseDto getCurrentUser(HttpServletRequest request) { // Получаем ID пользователя из сессии или токена Long userId = (Long) request.getSession().getAttribute("userId"); if (userId == null) { throw new ResourceNotFoundException("User not authenticated"); } return service.get(userId); } @PostMapping @ResponseStatus(HttpStatus.CREATED) public UserResponseDto createUser(@Valid @RequestBody UserRequestDto dto) { return service.create(dto); } @GetMapping("/{id}") public UserResponseDto readUser(@PathVariable Long id) { return service.get(id); } @PutMapping("/{id}") public UserResponseDto updateUser( @PathVariable Long id, @Valid @RequestBody UserRequestDto dto) { return service.update(id, dto); } @DeleteMapping("/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Long id) { service.delete(id); } }