회원 관리를 HTTP API로 만든다 하고 매핑을 어떻게 하는지 알아보자.(URL 매핑만 신경쓴다.)
회원 관리 API
- 회원 목록 조회: GET /users
- 회원 등록: POST /users
- 회원 조회: GET /users/{userId}
- 회원 수정: PATCH /users/{userId}
- 회원 삭제: DELETE /users/{userId}
MappingClassController를 만들어 보자.
// MappingClassController
package hello.springmvc.basic.requestmapping;
import org.springframework.web.bind.annotation.*;
@RestController
public class MappingClassController {
/**
* 회원 관리 API
* 회원 목록 조회: GET /users
* 회원 등록: POST /users
* 회원 조회: GET /users/{userId}
* 회원 수정: PATCH /users/{userId}
* 회원 삭제: DELETE /users/{userId}
*/
@GetMapping("/mapping/users")
public String user() {
return "get users";
}
@PostMapping("/mapping/users")
public String addUser() {
return "post user";
}
// pathvariable
@GetMapping("/mapping/users/{userId}")
public String findUser(@PathVariable String userId) {
return "get userId=" + userId;
}
@PatchMapping("/mapping/users/{userId}")
public String updateUser(@PathVariable String userId) {
return "update userId=" + userId;
}
@DeleteMapping("/mapping/users/{userId}")
public String deleteUser(@PathVariable String userId) {
return "delete userId=" + userId;
}
}
아래와 같이 간단하게 RequestMapping annotation을 통해서 url 경로를 간단하게 바꿔보자.
즉 클래스 레벨에 매핑 정보를 두면 메서드 레벨에서 해당 정보를 조합해서 사용할 수 있게 된다.
package hello.springmvc.basic.requestmapping;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/mapping/users")
public class MappingClassController {
@GetMapping
public String user() {
return "get users";
}
@PostMapping
public String addUser() {
return "post user";
}
// pathvariable
@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;
}
}
그리고 Accept에 따라서 postman 출력 로그가 달라지는데 Accept를 text/html로 해서 html형식으로 출력로그가 보이게 된다.
"/"로 해주고 돌리면 정상적으로 나온다.
<출처 김영한: 스프링 MVC 1편 - 벡앤드 웹 개발 핵심 기술>
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의
웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -
www.inflearn.com
'Spring > SpringMVC' 카테고리의 다른 글
HTTP 요청 파라미터 - 쿼리 파라미터, HTML Form & RequestParam (0) | 2022.04.29 |
---|---|
HTTP 요청 - 기본, 헤더 조회 (0) | 2022.04.29 |
요청 매핑 (0) | 2022.04.29 |
스프링MVC 기본기능 (0) | 2022.04.29 |
SpringMVC 구조 정리 (0) | 2022.04.28 |