
Mapping
스프링 MVC 컨트롤 메서드를 선언하기 위한 어노테이션 몇 가지를 소개하겠다.
@RestController 어노테이션을 통해 컨트롤러를 활성화할 수 있다.
Json 형태로 키와 밸류값으로 이루어진 데이터를 받아서 반환해준다.
과거 @Controller를 사용할 때는 메서드마다 @ResponsBody를 선언해야 하는 불편함이 있었다.
1. GetMapping
// @RequestMapping(value = "/login/{loginID}", method = RequestMethod.GET)
// 각 매핑들은 RequestMapping을 사용해서 value, method값을 통해 데이터를 받을 수도 있다.
@GetMapping("/login/{loginID}")
public String getTest(@PathVariable("loginID") String id){
return "아이디 : " + loginID + " 로그인 성공";
} // 아이디 : test 로그인 성공
URL : http://localhost:8080/login/test
@GetMapping("/login")
public String getTest2(
@RequestParam(value = "loginID", required = false, defaultValue = "defaultId") String id,
@RequestParam("type") String memberType){
log.info("아이디 : " + id + ", 회원타입 : " + memberType);
return "아이디 : " + id + ", 회원타입 : " + memberType;
} // 아이디 : test, 회원타입 : member
URL : http://localhost:8080/order?loginID=test&type=member
* required : 필수 여부 / true가 디폴트값
2. DeleteMapping
@DeleteMapping("/login/{loginID}")
public String Test3(@PathVariable("loginID") String id){
return "Delete ID : " + id;
} // Delete ID : test
URL : http://localhost:8080/login/test
3. PutMapping
@PutMapping("/login")
public String test4(){
return "id created -> ID:test, memberType:member";
}
3. PostMaping / 여러 개의 파라미터 값을 받아오기
public String Test5(
@RequestBody CreateOrderRequest createOrderRequest,
@RequestHeader String memberType){
return "아이디 : " + createOrderRequest.getloginID()
+ ", 주문량 : " + createOrderRequest.getOrderAmount()
+ ", 타입 : " + memberType;
} // 아이디 : test, 주문량 : 1000, 타입 : 멤버
@Data // lombok 라이브러리가 가진 기능. getter, setter가 자동으로 생성돼있음
public static class CreateOrderRequest{
private String loginID;
private Integer orderAmount;
}
URL : http://localhost:8080/order
Json데이터 : {"loginID" : "test", "orderAmount" : 8500}
String memberType: "멤버"
'스프링' 카테고리의 다른 글
[스프링] 프로젝트 실행 시 LoggingFailureAnalysisReporter 에러 해결 (0) | 2022.08.29 |
---|---|
[Spring Boot] Spring Data JPA - domain과 Entity 개념 / Entity에서 Dto 변환 (0) | 2022.08.24 |
[스프링] JUnit 테스트 시 반복되는 NullPointerException 오류 해결 (0) | 2022.08.13 |
[스프링] ExceptionHandler - 예외처리 (0) | 2022.08.01 |
[자바] 스프링의 환경 설정 : 프로파일(Profile) 사용하기 (0) | 2022.07.20 |