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
🙋♀️
본 포스트는 공부 목적으로 작성하였습니다.
보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글로 알려주시면 수정하도록 하겠습니다.
📑
참고 자료
'PlayGround > 마실가실 리팩토링' 카테고리의 다른 글
[1년 후 마실가실] Custom Exception (0) | 2024.08.10 |
---|---|
[1년 후 마실가실] Test Code 작성 (0) | 2024.08.05 |
[1년 후 마실가실] Entity 수정 (0) | 2024.07.28 |
[1년 후 마실가실] 환경 설정(로컬 DB 연결 및 JPA 설정) (0) | 2024.07.27 |
[1년 후 마실가실] ERD 수정 (2) | 2024.07.27 |