운전면허 시험 문제 정적 API

Cloudflare Workers와 Assets를 활용한 운전면허 시험 문제 데이터 API

📊 클라우드 CDN 기반 서비스

Cloudflare의 글로벌 CDN을 활용하여 정적 자산 제공 기능으로 운전면허 시험 문제 데이터를 효율적으로 제공합니다.

⚡ 빠른 응답 속도

모든 데이터는 정적 JSON 파일로 사전 생성되어 실시간 처리 없이 즉시 제공됩니다. Cloudflare의 글로벌 CDN을 통해 모든 API 응답이 빠르게 제공됩니다.

📚 문제은행 출처

본 API는 다음 문제은행의 데이터를 기반으로 제공됩니다:

API 엔드포인트

전체 문제 목록 조회

GET /api/questions

전체 문제 목록을 조회합니다.

응답 예시 (문제 번호만)

{
  "status": "success",
  "data": {
    "total": 1000,
    "indexes": [1, 2, 3, ...]
  }
}

응답 예시 (전체 문제 상세 정보)

{
  "status": "success",
  "data": {
    "total": 1000,
    "questions": [
      {
        "번호": 1,
        "문제": "...",
        "선택": [...],
        "정답": [4],
        "해설": "...",
        "유형": "문장형",
        "힌트": "...",
        "간략설명": "...",
        "부연설명": null,
        "": null
      }
    ]
  }
}

특정 문제 조회 (번호 기준)

GET /api/questions/{번호}

특정 번호의 문제 상세 정보를 반환합니다.

응답 예시

{
  "status": "success",
  "data": {
    "번호": 1,
    "문제": "다음 중 총중량 1.5톤 피견인 승용자동차를...",
    "선택": [
      {"번호": 1, "내용": "..."},
      {"번호": 2, "내용": "..."},
      {"번호": 3, "내용": "..."},
      {"번호": 4, "내용": "..."}
    ],
    "정답": [4],
    "해설": "...",
    "유형": "문장형",
    "힌트": "...",
    "간략설명": "...",
    "부연설명": null,
    "미디어": {
        "url": "https://i.postimg.cc/DZTwDgq1/num-850-0.jpg",
        "type": "image"
      }
  },
  "generated_at": "2025-03-23T11:40:15.987Z"
}

정답이 2개인 문제 조회

GET /api/questions/2answers

정답이 2개인 문제 목록을 조회합니다.

매개변수:

응답 예시 (전체 문제 정보)

{
  "status": "success",
  "data": {
    "total": 282,
    "questions": [
      {
        "번호": 8,
        "문제": "...",
        "선택": [...],
        "정답": [1, 2],
        "해설": "...",
        "유형": "문장형",
        "힌트": "...",
        "간략설명": "...",
        "부연설명": null,
        "미디어": null
      }
    ]
  }
}

응답 예시 (문제 번호만)

{
  "status": "success",
  "data": {
    "total": 282,
    "indexes": [8, 15, 18, 29, 41, 57, ..., 865]
  }
}

랜덤 문제 조회

GET /api/questions/random?count=10&set=1

count 파라미터 개수만큼 랜덤하게 문제를 선택하여 반환합니다.

매개변수:

응답 예시

{
  "status": "success",
  "data": {
    "total": 10,
    "questions": [
      {
        "번호": 1,
        "문제": "...",
        "선택": [...],
        "정답": [4],
        "해설": "...",
        "유형": "문장형",
        "힌트": "...",
        "간략설명": "...",
        "부연설명": null,
        "미디어": null
      }
    ]
  }
}

모의고사 문제 조회

GET /api/questions/exam?set=1

모의고사 문제를 반환합니다. 아래 구성표에 따라 문제가 선택됩니다.

매개변수:

응답 예시

{
  "status": "success",
  "data": {
    "total": 40,
    "totalScore": 100,
    "questions": [
      {
        "번호": 586,
        "문제": "도로교통법령상 자전거 운전자가 밤에 도로를 통행할 때 올바른 주행 방법으로 가장 거리가 먼 것은?",
        "선택": [
          {
            "번호": 1,
            "내용": "경음기를 자주 사용하면서 주행한다."
          },
          {
            "번호": 2,
            "내용": "전조등과 미등을 켜고 주행한다."
          },
          {
            "번호": 3,
            "내용": "반사조끼 등을 착용하고 주행한다."
          },
          {
            "번호": 4,
            "내용": "야광띠 등 발광장치를 착용하고 주행한다."
          }
        ],
        "부연설명": null,
        "정답": [
          1
        ],
        "해설": "도로교통법 제50조(특정운전자의 준수사항)제9항 자전거등의 운전자는 밤에 도로를 통행하는 때에는 전조등과 미등을 켜거나 야광띠 등 발광장치를 착용하여야 한다.",
        "유형": "문장형",
        "힌트": "자전거 운전자가 밤에 안전하게 도로를 주행하기 위해 해야 할 일들을 생각해 보세요. 다른 차량 운전자들이 자전거를 잘 볼 수 있도록 해야 할 것은 무엇일까요? 경음기 사용은 다른 차량의 안전 운행에 어떤 영향을 미칠 수 있을까요?",
        "간략설명": "경음기를 자주 사용하는 것은 다른 차량 운전자에게 불필요한 소음을 유발하고, 오히려 사고를 유발할 수 있습니다. 밤에는 전조등과 미등을 켜고, 반사 조끼나 야광 띠 등 발광 장치를 착용하여 다른 운전자들이 자전거를 잘 볼 수 있도록 해야 합니다.",
        "미디어": null,
        "score": 2
      },
      /* ... 그 외 다수의 문제 ... */
    ],
  "generated_at": "2025-03-26T03:39:30.137Z"
}
문제유형 영문 유형 지문 점수 문제수 합계
문장형 sentence 4지 1답 2 18 36점
문장형 sentence 4지 2답 3 3 9점
안전표지형 safety_sign 4지 1답 2 4 8점
사진형 photo 5지 2답 3 6 18점
일러스트형 illustration 5지 2답 3 8 24점
동영상형 video 4지 1답 5 1 5점

많이 틀리는 문제 조회

GET /api/questions/frequently-missed?view=full

사용자들이 가장 많이 틀리는 문제 목록을 조회합니다. 오답율 정보와 함께 제공됩니다.

매개변수:

응답 예시 (전체 문제 정보)

{
  "status": "success",
  "data": {
    "total": 100,
    "questions": [
      {
        "번호": 947,
        "문제": "다음 중 안전운전에 해당하는 것은?",
        "선택": [
          {"번호": 1, "내용": "..."},
          {"번호": 2, "내용": "..."},
          {"번호": 3, "내용": "..."},
          {"번호": 4, "내용": "..."}
        ],
        "부연설명": null,        
        "정답": [1],
        "해설": "...",
        "유형": "동영상형형",
        "힌트": "...",
        "간략설명": "...",
        "미디어": {
            "url": "https://www.youtube.com/watch?v=CQTa7nZkskw",
            "type": "video"
          }
        "오답율": 75.5
      },
      /* ... 그 외 다수의 문제 ... */      
    ]
  },
  "generated_at": "2025-03-26T03:39:30.334Z"
}

응답 예시 (문제 번호만)

{
  "status": "success",
  "data": {
    "total": 100,
    "questions": [
      {
        "번호": 352,
        "오답율": 67
      },
      {
        "번호": 670,
        "오답율": 67
      },
      /* ... 그 외 다수의 문제 ... */    
    ]
  },
  "generated_at": "2025-03-26T03:39:30.333Z"
}

정적 API 정보

이 API는 실시간 데이터 처리를 수행하지 않고, 미리 생성된 정적 JSON 파일을 제공합니다. 모든 API 엔드포인트는 해당하는 정적 JSON 파일로 리디렉션됩니다.

이 API는, 파일 기반 API를 사용하여 클라이언트에게 직접 정적 파일에 접근할 수 있도록 투명하게 설계되었습니다.