@RestController
@RequestMapping("/api")
public class PostAPIController {
@PostMapping("/post")
public String post(
//default로 객체를 받아야함. Json, Spring boot web은 json이 default
@RequestBody BookRequest bookRequest //post,put방식에서 바디로 들어오는 데이터를 해당 객체에 맵핑해주겠다.
){
System.out.println(bookRequest);
return bookRequest.toString();
}
Post 방식은 디폴트로 객체를 받아야한다.
@PostMapping을 통해 Post 방식으로 받을 것을 지정해주고, ("/post")로 명시해서 "post"로 들어오는 주소는 여기서 처리하겠다 명시.
@RequestBody로 Body로 들어오는 데이터를 해당 객체의 데이터 클래스에 매핑해주겠다 명시. Json과 Spring Boot Web은 json이 디폴트.
객체를 내리면 json 형태로 변환해주고, toString()의 형태로 내리면 플레인 텍스트로 전환해준다.
@PostMapping("/user")
public UserRequest user(
@RequestBody UserRequest userRequest
){
System.out.println(userRequest);
return userRequest;
}
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonNaming(value= PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserRequest {
private String name;
private Integer userAge; //int를 사용하면 아무런 값이 없을 때 0으로 표현됨. Integer 사용하면 null
private String email;
}