inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

04-몽구스의 진실

섹션22 과제5번 질무이있습니다

해결된 질문

270

jay kang

작성한 질문수 10

0

스크린샷 2023-07-23 20.27.37.png아래 코드를 실행할때마다 오류가 발생해서 여쭤봤습니다.

그전에 startStandaloneServer가 없을때에는 오류는 안나왔지만 grapql페이지로 접속하였을때 빨간불이 들어오고 서버가 제대로 접속되지않아서 방법을 바꾸니 typeerror가 발생했는데 어디에서도 server.addPlugin을 작성하지않았고 공식페이지에서의 방법도 해봤는데 왜 오류가 나는지 찾지를 못했습니다

import { ApolloServer } from "apollo-server";
import { startStandaloneServer } from "@apollo/server/standalone";

const typeDefs = `#test

# Board에 관한 Query는 
# 로직 내에 Query가 없는 채로 실행했을 때 나타나는
# "Error: Query root type must be provided." 에러 방지를 위한 것입니다.
type BoardReturn {
    number: Int
    writer: String
    title: String
    contents: String
  }

  type Query {
    fetchBoards: [BoardReturn]
  }

  type Mutation {
    # 1. 아래에 createTokenOfPhone API의 요청 데이터 타입을 지정해 주세요.
    createTokenOfPhone(phone : Int) : String

  }
`;

const resolvers = {
  Query: {
    fetchBoards: (_, args) => {
      return [
        {
          number: 1,
          writer: "철수",
          title: "제목입니다",
          contents: "내용입니다",
        },
        {
          number: 2,
          writer: "영희",
          title: "좋은 날씨입니다",
          contents: "내용입니다",
        },
      ];
    },
  },

  Mutation: {
    createTokenOfPhone: (_, args) => {
      // 2. 아래 로직을 만들어 주세요.
      // (힌트: phone.js 내에 존재하는 함수들을 사용해서 로직을 완성해 주시면 됩니다.
      //  로직 구성이 어려우신 분들은 rest_api 폴더 내에 존재하는 index.js 파일을 참고해 주세요.)

      // 2-1. 휴대폰번호 자릿수 맞는지 확인하기
      const phone = args.phone;
      if (phone.length > 10 || phone.length < 10) {
        return "핸드폰 번호 재확인 해주세요";
      }

      // 2-2. 휴대폰 번호 자릿수가 맞다면 핸드폰 토큰 4자리 만들기
      const result = String(Math.floor(Math.random() * 1000)).padStart(4, "0");

      // 2-3. 만든 토큰을 핸드폰번호에 토큰 전송하기

      return `token : ${result}`;
    },
  },
};

const server = new ApolloServer({
  typeDefs,
  resolvers,
});

await startStandaloneServer(server);

// server.listen(3000).then(({ url }) => {
//   console.log(`🚀 Server ready at ${url}`);
// });

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! Daon님!

apollo-server => @apollo/server로 업데이트 되었습니다!

따라서, 아래 부분을 신버전으로 변경해 주세요

// 구버전
import { ApolloServer } from "apollo-server";

// 신버전
import { ApolloServer } from "@apollo/server"; 

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

0

84

2

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

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

87

2

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

0

74

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

89

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

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

0

131

2

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

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

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

0

354

1

self-signed certificate in certificate chain 에러 발생

0

418

1

mongoose 설치 오류

0

142

1

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

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

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

0

156

1