ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.