zerogravity-project / zerogravity-backend

0 stars 2 forks source link

User Controller에서 두 개 이상의 RequestBody를 매개변수로 받을 수 없는 점 #19

Open celestedayoung opened 6 months ago

celestedayoung commented 6 months ago
    public ResponseEntity<Void> createUser(@Parameter(description = "사용자 정보") @RequestBody User user) {
        if (isValidUser(user)){
            boolean isCreated = userService.createUser(user);
            if (isCreated) {
                return new ResponseEntity<>(HttpStatus.CREATED);
            }
        }
        return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
    }

이전 코드에서 User userUserInfo userInfo 두 개의 RequestBody를 매개변수로 받았지만 HTTP 표준에서는 하나의 HTTP 요청에서 단 하나의 RequestBody만을 사용할 수 있다고 합니다. 이는 요청의 본문이 하나뿐이기 때문입니다. 따라서, 한 번의 요청에 여러 개의 데이터 객체를 전달하려면 이 객체들을 하나의 더 큰 객체로 래핑하거나, 각각의 객체를 분리된 필드로 포함시키는 방법을 사용해야 합니다.

우선 Swagger test를 위해 임시로 코드를 수정하였고, User 코드를 담당하신 @minukHwang 님께 명시적으로 알려드려야 할 것 같아 issue로 남깁니다!

minukHwang commented 6 months ago

해당 부분 카카오 로그인 혹은 JWT 인증하여 로그인하는 방식을 고려하여 전면 수정하도록 하겠습니다!