이론적인 부분은 https://dean83.tistory.com/333 이곳에 기록해 두었다.
주로, URI 설계와 어떤 http method를 매핑해놓는지로 판단된다.
1. REST 예제
@RestController
@RequestMapping("/user")
public class UserController {
// 사용자 조회
@GetMapping("/getUserInfo")
public User getUserInfo(@RequestParam Long id) {
return userService.findById(id);
}
// 사용자 생성
@PostMapping("/createUser")
public String createUser(@RequestBody User user) {
userService.save(user);
return "User created";
}
// 사용자 삭제
@PostMapping("/deleteUser")
public String deleteUser(@RequestParam Long id) {
userService.delete(id);
return "User deleted";
}
}
- URI 에 create, delete 등 구체적인 동작에 대한 내용이 들어가 있다.
- 삭제가 DELETE 가 아닌 POST로 구현되어 있다.
2. RESTFul 예제
@RestController
@RequestMapping("/users")
public class UserController {
// 사용자 전체 조회
@GetMapping
public List<User> getUsers() {
return userService.findAll();
}
// 특정 사용자 조회
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.findById(id);
}
// 사용자 생성
@PostMapping
public ResponseEntity<User> createUser(@RequestBody User user) {
User saved = userService.save(user);
return ResponseEntity.status(HttpStatus.CREATED).body(saved);
}
// 사용자 수정
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
return userService.update(id, user);
}
// 사용자 삭제
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
userService.delete(id);
return ResponseEntity.noContent().build();
}
}
'Backend > SpringBoot' 카테고리의 다른 글
| Swagger 사용하기 (0) | 2025.09.22 |
|---|---|
| 간단하게 API 테스트 하기 (파일명.http) (0) | 2025.09.19 |
| Interceptor 이용하여 요청 확인하기 (0) | 2025.09.18 |
| json과 파일 데이터 동시에 받기(ft. Postman, swagger 에서 테스트) (0) | 2025.09.18 |
| 클라이언트의 파일을 받아 처리하기 (0) | 2025.09.15 |