본문 바로가기
JAVA Spring

스프링 MVC - 요청 매핑 ( API 예시)

by ppirae 2022. 4. 9.

요청 매핑

MappingController

  • 기본 요청
    • 둘다 허용 /hello-basic, /hello-basic/
    • HTTP 메서드 모두 허용 GET, HEAD, POST, PUT, PATCH, DELETE
  • method 특정 HTTP 메서드 요청만 허용
    • GET, HEAD, POST, PUT, PATCH, DELETE
  • PathVariable 사용
    • 변수명이 같으면 생략 가능
    • @PathVariable("userId") String userId -> @PathVariable userId
  • PathVariable 사용 다중
  • 파라미터로 추가 매핑
    • params="mode", * params="!mode"
    • params="mode=debug" * params="mode!=debug" (! = ) * params = {"mode=debug","data=good"}
  • 특정 헤더로 추가 매핑
    • headers="mode"
    • headers="!mode"
    • headers="mode=debug"
    • headers="mode!=debug" (! = )
  •  Content-Type 헤더 기반 추가 매핑 Media Type
    • consumes="application/json"
    • consumes="!application/json"
    • consumes="application/*" * consumes="*\/*"
    • MediaType.APPLICATION_JSON_VALUE
  • Accept 헤더 기반 Media Type
    • produces = "text/html"
    • produces = "!text/html"
    • produces = "text/*"
    • produces = "*\/*"

이렇게 요청을 매핑하는 여러가지 방법이 있다.


요청 매핑 - API 예시

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

(실제 데이터가 넘어가는 부분은 생략하고 URL 매핑만)

 

회원 관리 API

  • 회원 목록 조회: GET /users
  • 회원 등록: POST /users
  • 회원 조회: GET /users/{userId}
  • 회원 수정: PATCH /users/{userId}
  • 회원 삭제: DELETE /users/{userId}
@RestController
@RequestMapping("/mapping/users")
public class MappingClassController {

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

이후 Postman으로 테스트한다.

 

매핑 방법을 이해했으니, 이제부터 HTTP 요청이 보내는 데이터들을 스프링 MVC로 어떻게 조회하는지 알아보자.


인프런 김영한님의 스프링 MVC 1편을 듣고 작성한 글입니다.

https://inf.run/Qnpz

 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -

www.inflearn.com

 

댓글