inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

swaggerui에서 execute했는데 console에서는 계속 typeerror로 n.get함수가 없다는 에러가 발생합니다.

해결된 질문

569

jay kang

작성한 질문수 10

0

스크린샷 2023-07-17 19.25.24.pngjavascript문서를 확인했을때는 배열을 객체로쓴다던가 함수를 부를수없는곳에 작성했다는등의 오류라고 나와있는데 아무리 찾아봐도 그오류가 어디에서 나오는지 왜나오는지를 알수없어서 질문올립니다.

// index.js

import express from "express";
import { options, dataCoffee, dataUsers } from "./swagger/config.js";
import cors from "cors";

const app = express();
import swaggerUi from "swagger-ui-express";
import swaggerJSDoc from "swagger-jsdoc";

app.use(express.json());
const swaggerSpec = swaggerJSDoc(options);
app.use(cors());
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerSpec));

app.get("/users", (req, res) => {
  res.send(dataUsers);
});

app.get("/starbucks", function (req, res) {
  res.send(dataCoffee);
});

app.listen(3001);

// config.js

export const options = {
  definition: {
    openapi: "3.0.0",
    info: {
      title: "swagger-test",
      version: "1.0.0",
    },
  },
  apis: ["./swagger/*-swagger.js"], // files containing annotations as above
};

export const dataCoffee = [
  { name: "아메리카노", kcal: 5 },
  { name: "카푸치노", kcal: 125 },
  { name: "헤이즐넛", kcal: 85 },
  { name: "카라멜마키아또", kcal: 225 },
  { name: "휘핑크림추가", kcal: 115 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
  { name: "아메리카노", kcal: 5 },
];

export const dataUsers = [
  {
    email: "aaa@gmail.com",
    name: "짱구",
    phone: "010-2293-3333",
    personal: "222012-2210392",
    prefer: "https://google.com",
  },
  {
    email: "aaa@gmail.com",
    name: "짱구2",
    phone: "010-2293-3333",
    personal: "222012-2210392",
    prefer: "https://google.com",
  },
  {
    email: "aaa@gmail.com",
    name: "짱구3",
    phone: "010-2293-3333",
    personal: "222012-2210392",
    prefer: "https://google.com",
  },
  {
    email: "aaa@gmail.com",
    name: "짱구4",
    phone: "010-2293-3333",
    personal: "222012-2210392",
    prefer: "https://google.com",
  },
  {
    email: "aaa@gmail.com",
    name: "짱구5",
    phone: "010-2293-3333",
    personal: "222012-2210392",
    prefer: "https://google.com",
  },
  {
    email: "aaa@gmail.com",
    name: "짱구6",
    phone: "010-2293-3333",
    personal: "222012-2210392",
    prefer: "https://google.com",
  },
];

// all-swagger.js

/**
 * @swagger
 * /starbucks:
 *   get:
 *     summary: 커피
 *     tags: [Coffee]
 *     parameters:
 *         name: String
 *         kcal: int
 *     responses:
 *       200:
 *         description: 성공
 *         content:
 *           application/json:
 *             schema:
 *               type: array
 *               items:
 *                 properties:
 *                   name:
 *                     type: String
 *                     example: 아메리카노
 *                   kcal:
 *                     type: int
 *                     example: 5
 */

/**
 * @swagger
 * /users:
 *   get:
 *     summary: 유저검색
 *     tags: [Users]
 *     parameters:
 *         name: String
 *         kcal: int
 *     responses:
 *       200:
 *         description: 성공
 *         content:
 *           application/json:
 *             schema:
 *               type: array
 *               items:
 *                 properties:
 *                   name:
 *                     type: String
 *                     example: 아메리카노
 *                   kcal:
 *                     type: int
 *                     example: 5
 */

javascript node.js express docker tdd rest-api nestjs

답변 2

0

노원두

안녕하세요! Daon님!

올려주신 소스코드를 복사해서 실행해본 결과, 해당 에러 메시지는 나타나지 않네요!
또한, 해당 에러 메시지는 백엔드코드와 크게 관련이 있어 보이진 않습니다!

따라서, 버전상의 문제이거나 해당 스웨거와는 관련 없는 코드일 수 있을 것 같아요!^^

1

jay kang

그러면 이부분은 버전을 다르게해보고 실행해봐야할까요 그부분도 의심되서 수업때한 버전이랑 다른지도 확인하고 해봤거든요

 

0

노원두

네! Daon님!

해당 에러메시지를 확인해보니, swagger-ui 내부에 설치된 프론트엔드 관련 라이브러리(react, redux 등)에 관한 에러 메시지인 것 같네요!

우리가 다운로드 받는 라이브러리도 다른 사람이 만들어서 무료로 공개한 것이므로, 버전, 버그, 패치 등에 영향을 받을 수 있습니다.

기능상으로 이상이 있으시다면, 수업에서 진행했던 내용으로도 문제가 되는지 먼저 확인해 보시고, 수업에서 진행했던 내용마저도 동일한 에러가 발생하신다면, 버전을 변경해서 시도해 보시는게 좋을 것 같아요!

0

jay kang

수업시 내용에는 문제가없는데 제가 과제로 하는것만 문제가된다면 리액트랑 리덕스랑 버전이든 어떠한 환경설정문제로 판단해야할까요?

0

노원두

네! 동일한 버전에 수업 코드는 잘 되는데, 수정된 코드만 안된다면 코드상의 문제이겠지만, 해당 버전으로 수업 코드도 동일한 이슈가 발생한다면 버전 문제라고 보는게 좋을 것 같네요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

제가 보기에는 소스 코드에서 n.get 함수가 정의되지 않았기 때문에 에러가 발생한 것 같아요.

index.js 파일에는 n.get 함수가 어디에도 정의되지 않았고, config.js 파일에도 n.get 함수 관련 코드가 없는 것으로 보입니다.

혹시 n.get 함수를 사용하려는 목적이 무엇인지 알려주실 수 있을까요? 그리고 에러 메시지에 표시된 코드도 함께 알려주시면 더 정확한 답변을 드릴 수 있어요.

그래프 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