PlayGround/마실가실 리팩토링
[1년 후 마실가실] REST API 구현
HJ0216
2024. 8. 4. 14:29
1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다.
RESTful한 구현이 안된 프로젝트는 1년 전 마실가실입니다.
1년 후 마실가실은 RESTful 할 수 있습니다.
간단한 정의는
자원의 이름(표현)으로 자원의 상태(정보)를 주고 받는 것
입니다.
자원은 URI로, 자원의 행위는 HTTP Method로 표현 → 행위에 맞는 적절한 HTTP method를 사용한 것을 RESTful하다고 합니다.
- 조회: GET
- 생성: POST
- 일부 수정: PATCH / 전체 수정: PUT
- 삭제: DELETE
REST API 설계 규칙
- 소문자 사용
- _ 대신 - 사용
- 마지막에 슬래시(/)를 포함하지 않음
- 행위를 포함하지 않음
행위는 URI 대신 Http Method를 사용하여 전달 - 파일 확장자는 URL에 포함시키지 않음
- 명사 사용, 예외적으로 컨트롤 자원을 의미하는 경우 동사 사용
- URI에 작성되는 영어를 복수형으로 작성
// 기존
@RestController
@RequestMapping("user")
public class UserController {
@PostMapping("/signup")
public void userSignUp(@RequestBody User user) {
userService.signUp(user);
}
}
// 리팩토링
@RestController
@RequestMapping("api/v2/users")
@RequiredArgsConstructor
public class UserController {
@PostMapping("/new")
public String create(@RequestBody User user){
System.out.println("UserController.create");
Integer id = userService.create(user);
return id.toString();
}
}
- signup → new
- user → users
🙋♀️
본 포스트는 공부 목적으로 작성하였습니다.
보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글로 알려주시면 수정하도록 하겠습니다.
📑
참고 자료