url은 '/api/resouce'와 같이 자원명만 쓰고 CRUD에 대한 것은 HttpMethod를 이용해서 처리해줘야 한다. 즉, url에 동사가 들어가는 것은 좋지 않다. 이 때 resouce를 적을 때 복수형으로 설정하는 것이 일반적인 규칙이다. 또한 @Pathvariable을 적극 활용하자.
조회의 경우 Get
추가의 경우 Post
수정의 경우 Put - 전체 수정
수정의 경우 Patch - 일부 수정
삭제의 경우 Delete
HttpMethod 사용
@RequiredArgsConstructor
@RestController
@RequestMapping("/user")
public class UserController {
private final UserService userService;
@PostMapping
public ResponseEntity<?> saveUser(@RequestBody LoginUserDto loginUserDto) {
TokenDto tokenDto = userService.save(loginUserDto);
return ResponseEntity.ok()
.header("access", tokenDto.getAccessToken())
.header("refresh", tokenDto.getRefreshToken()).build();
}
@GetMapping
public ResponseEntity<?> getUserInfo(Principal principal) {
UserDto userDto = userService.get(principal.getName());
return ResponseEntity.ok()
.body(userDto);
}
@PutMapping
public ResponseEntity<?> updateUserInfo(@RequestBody UserDto userDto, Principal principal) {
userService.update(userDto, principal.getName());
return ResponseEntity.ok().build();
}
}
'Spring Boot' 카테고리의 다른 글
Spring Boot 직렬화 필터링 fear. JSON (0) | 2024.07.14 |
---|---|
Spring Boot - 필터에서 발생한 예외 처리 (0) | 2024.07.12 |
Spring Boot - 비동기 처리 (0) | 2024.06.25 |
Spring Boot - RabbitMQ (0) | 2024.06.25 |
Spring Boot 예외 처리 (0) | 2024.06.14 |