-
API 요청 매핑 타입스프링/스프링 MVC 패턴 2023. 2. 14. 12:50
회원 관리 API
회원 목록 조회: GET /users
회원 등록: POST /users
회원 조회: GET /users/{userId}
회원 수정: PATCH /users/{userId}
회원 삭제: DELETE /users/{userId}회원 목록 조회와 회원 등록을 보면 url이 같더라도 http 메서드로 구분해서 기능을 다르게 할 수 있다.
@RestController @RequestMapping("/mapping/users") public class MappingClassController { /** 회원 목록 조회: GET /users 회원 등록: POST /users 회원 조회: GET /users/{userId} 회원 수정: PATCH /users/{userId} 회원 삭제: DELETE /users/{userId} **/ @GetMapping public String user() { return "get users"; } @PostMapping public String addUser() { return "post user"; } @GetMapping("/{userId}") public String findUser(@PathVariable String userId) { return "get userId=" + userId; } @PatchMapping("/{userId}") public String updateUser(@PathVariable String userId) { return "update userId=" + userId; } @DeleteMapping("/{userId}") public String deleteUser(@PathVariable String userId) { return "delete userId=" + userId; } }
실제로 동작은 하지않지만 매핑만 하는 코드이다.
http://localhost:8080/mapping/users/userA url로 접근할 때 Get, Patch, Delete 어떠한 방식을 통해 접근하는지에 따라서 return 값이 바뀐다. 즉, http 접근 방식에 따라서 다른 메서드가 호출된다는 것이다.
'스프링 > 스프링 MVC 패턴' 카테고리의 다른 글
HTTP 요청 메시지 - 텍스트 (0) 2023.02.14 요청 파라미터 - @RequestParam, @ModelAttribute (0) 2023.02.14 특정 조건 매핑 (0) 2023.02.14 로그 출력 (0) 2023.02.13 스프링 MVC (0) 2023.02.12