본문 바로가기
스프링/스프링 웹

[Spring] 요청 매핑 - API 형식 사용 방법 예시

by drCode 2023. 6. 8.
728x90
반응형

회원 관리를 HTTP API 로 만든다고 생각하고 어떻게 매핑을 해야하는지 살펴보자.

 

회원 관리 API

회원 목록 조회 GET /users
회원 등록 POST /users
회원 조회 GET /users/{userId}
회원 수정 PATCH /users/{userId}
회원 삭제 DELETE /users/{userId}

 

MappingClassController

package hello.springmvc.basic.requestmapping;

import org.springframework.web.bind.annotation.*;

@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;
    }
}

@RequestMapping("/mapping/users")

   : 클래스 레벨에 매핑 정보를 두면 메서드 레벨에서 해당 정보를 조합해서 사용한다.

 

Postman으로 테스트 해보면

 

http://localhost:8080/mapping/users
http://localhost:8080/mapping/users
http://localhost:8080/mapping/users/userA

 

http://localhost:8080/mapping/users/userA
http://localhost:8080/mapping/users/userA

 

각각 지정한대로 매핑되었다.

728x90
반응형

댓글