inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

mini project swagger 작성 중 문제가 있어서 질문드립니다.

해결된 질문

863

김정욱

작성한 질문수 3

0

구현은 끝나서 swagger 만들고 있는데, 계속 swagger가 보내는 json을 못찾는것같습니다. request의 body에도 아무 값이 안나오네요. 도와주세요ㅠㅠ

API 코드


app.post("/users", async (req, res) => {
    const newUser = req.body.newUser; // 여기에서 오류가 납니다.
    if ((await isAuthPhone(newUser.phone)) === true) {
        if (checkValidationEmail(newUser.email) === true) {
            const og = await makeOG(newUser.prefer);
            console.log(og);
            const securePersonal = secure(newUser.personal);
            const user = new UserCollection({
                name: newUser.name,
                email: newUser.email,
                personal: securePersonal,
                prefer: newUser.prefer,
                pwd: newUser.pwd,
                phone: newUser.phone,
                og: og,
            });
            await user.save();
            await sendWelcomeTemplateToEmail(newUser);
            console.log(
                `✅: "${user.name}" 사용자가 신규 가입에 성공했습니다.`
            );
            res.send(user._id);
        } else {
            res.status(422).send("NotValidationEmail");
        }
    } else {
        res.status(422).send("NotAuthPhone");
    }
});

Swagger 코드

code.png(yaml 파일은 복붙하니까 이상하게 나와서 이미지로 첨부할게요)

(+ 이미지에선 parameter의 name이 body로 되어있지만, 위 API 코드에 맞춰서 name을 newUser로 설정했었지만 같은 에러가 떴었습니다.)


에러 메시지

code.png


Swagger parameter 화면

아무리 찾아도 방법을 모르겠어서 올립니다ㅠㅠ.... 도와주세요.....

NestJS node.js express tdd rest-api docker nestjs javascript nodejs

답변 1

0

angie

안녕하세요. Jeongwook Kim님

공유해주신 이미지로 오류 원인을 추측했을 때, phone 이라는 데이터 값을 가져오지 못하고 있는 것으로 확인됩니다.

작성한 로직을 살펴봤을 때, swagger 문서 상에서도 작성 로직과 같이 newUser 객체에서 데이터를 가져올 수 있도록 수정해 주셔야 합니다. schema 부분에 newUser 부분의 내용도 추가 작성해 보시길 바랍니다. 감사합니다.

0

김정욱

그런데 아예 request의 body값을 다 출력하게 했는데도 body 값이 {}라고 나와서요..

in: body 가 이렇게 쓰는게 아닌가요?

0

angie

Swagger를 활용하여 request.body 값을 서버에서 받아오기 위해서는 requestBody 키워드를 사용합니다. 해당 부분 공식문서 링크를 참고하여 Swagger 문서를 수정해 보시길 바랍니다. https://swagger.io/docs/specification/describing-request-body/

더불어 파라미터가 어떠한 역할을 하며, 언제 쓰이는지 학습해 보시고 해당 키워드를 필요한 상황에서 적용해 보시길 바랍니다.🙃

0

김정욱

requestBody를 사용하여 작성해서 잘 나오게 됐습니다. 감사합니다!

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

86

2

강의 전체 소스 코드를 받고싶습니다.

0

77

2

fontawesome 사용 문의

0

80

2

소스 코드 부탁드립니다~

0

87

2

깃 레포지터리 소스

0

87

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

74

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

89

3

강의 버전관련 문의입니다

0

104

2

Ubuntu 설치 관련

0

62

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

Rest API 보다는 graphql이 주된 내용인데

0

134

2

강의 전체 소스코드 받을수있을까요?

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

http => htrtps 호출 인증서 신뢰 오류

0

356

1

self-signed certificate in certificate chain 에러 발생

0

421

1

mongoose 설치 오류

0

143

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

285

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

126

2

mydocker

0

129

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1