/
Sergei_Zikov
/
NoSQL
Обзор
Документация
Войти
/
Sergei_Zikov
/
NoSQL
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/example/demo/UserController.java
70 строк
2 KB
Sergei Izhevsk
first_commit
21 май 2026, 09:39
21 май 2026, 09:39
3ccb395
Код
Авторство
О чём код?
package com.example.demo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; import java.util.List; import java.util.Optional; @RestController @RequestMapping("/api/users") public class UserController { @Autowired private UserRepository userRepository; @GetMapping public List<User> getAllUsers() { return userRepository.findAll(); } @GetMapping("/{id}") public ResponseEntity<User> getUserById(@PathVariable String id) { Optional<User> user = userRepository.findById(id); return user.map(ResponseEntity::ok) .orElseGet(() -> ResponseEntity.notFound().build()); } @PostMapping public ResponseEntity<User> createUser(@Valid @RequestBody User user) { User savedUser = userRepository.save(user); return new ResponseEntity<>(savedUser, HttpStatus.CREATED); } @PutMapping("/{id}") public ResponseEntity<User> updateUser(@PathVariable String id, @Valid @RequestBody User userDetails) { Optional<User> existingUserOpt = userRepository.findById(id); if (existingUserOpt.isEmpty()) { return ResponseEntity.notFound().build(); } User existingUser = existingUserOpt.get(); existingUser.setName(userDetails.getName()); existingUser.setEmail(userDetails.getEmail()); existingUser.setAge(userDetails.getAge()); User updatedUser = userRepository.save(existingUser); return ResponseEntity.ok(updatedUser); } @DeleteMapping("/{id}") public ResponseEntity<Void> deleteUser(@PathVariable String id) { if (!userRepository.existsById(id)) { return ResponseEntity.notFound().build(); } userRepository.deleteById(id); return ResponseEntity.noContent().build(); } @GetMapping("/search/name") public List<User> getUsersByName(@RequestParam String name) { return userRepository.findByNameIgnoreCase(name); } @GetMapping("/search/age-greater-than") public List<User> getUsersByAgeGreaterThan(@RequestParam int age) { return userRepository.findByAgeGreaterThan(age); } }