@Slf4j
@RestController //응답 값이 json으로 내려가겠다.
//@RequestMapping("/api/vi")
public class ReponseAPIController {
@GetMapping("")//-> http://localhost:8080/user/vi 디폴트로 지정
public ResponseEntity<UserRequest> user(){
var user = new UserRequest();
user.setName("홍길동");
user.setUserAge(20);
user.setEmail("hong@gmail.com");
log.info("user : {}",user);
//원하는 HttpStatusCode의 값을 나타내고 싶을 때 ReponseEntity를 사용한다.
var reponse = ResponseEntity
.status(HttpStatus.OK)
.header("x-customs", "hi")
.body(user);
return reponse;
}
}
@GetMapping(""): 어노테이션에 주소를 안 적어주면 디폴트 주소로 위에 @RequestMapping에 매핑된 주소로 연결
return의 형태로 ReponseEntity를 사용: 여러 형태의 에러 코드를 사용하기 위해서
.status()로 Http의 상태(Status)를 지정할 수 있고
.body()에는 객체를 지정.
ResponseEntity<UserRequest>를 통해 명시적으로 ResponseEntity에 UserRequest타입을 받겠다고 선언해준다.
header()를 통해서 추가적으로 응답을 내려줄 수도 있다.