Skip to content
This repository has been archived by the owner on Jan 24, 2025. It is now read-only.

API Search Query

Hankyeol Choi edited this page Mar 22, 2023 · 7 revisions

POST search_query/

강의를 검색합니다. tags/:year/:semester/로부터 교과 구분, 학점, 학년, 강사, 학과, 교양영역 정보를 받아올 수 있습니다. input의 각 member는 AND 연산이고 time_mask를 제외한 member 안의 원소들은 OR 연산입니다.

member description example
year 연도 2016
semester 학기 ('1', 'S', '2', 'W'가 아닌 1, 2, 3, 4) 1
title Optional. 강의명. 정규표현식을 통해 유사한 강의명을 모두 검색합니다. "수학 및 연습 1" or "수및연1"
classification Optional. 교과 구분 배열 ["전필", "전선"]
credit Optional. 학점 배열 [2, 3]
course_number Optional. 교과목 번호 배열 ["034.334", "32.513"]
academic_year Optional. 학년 배열 ["3학년", "4학년"]
instructor Optional. 강사 배열 ["하순회", "엄현상"]
department Optional. 학과 배열 ["컴퓨터공학부", "국어교육과"]
category Optional. 교양영역 배열 ["문화와 예술", "체육"]
etc Optional. 영어 강의 혹은 군휴학 원격수업을 검색할 수 있습니다. "E": 영어진행 강의, "MO": 군휴학 원격수업 ["E"]
time_mask Optional. 시간 검색. number 7개의 배열을 받습니다. 각 entry는 30bit 길이의 non-negative numeric bitmask입니다. 첫번째 원소가 월요일이고 마지막 원소는 일요일입니다. MSB가 0교시이며 2bit가 1시간입니다. Exact match가 아닌 해당 mask 안에 있는 강의를 검색합니다. 화요일과 목요일, 각 13교시부터 1시간 동안 진행할 때 [0, 12, 0, 12, 0, 0, 0]
offset Pagination offset. Default = 0 0
limit Pagination limit. Default = 20 20

Sample Input

{
    "year":2016,
    "semester":1,
    "title":"공연실1"
}

Sample Output

  • 수강스누에 신입생정원이 있는 경우에만 freshmanQuota 존재 ( 없는 경우 null )
[
  {
    "year": 2016,
    "semester": 1,
    "classification": "전선",
    "department": "전기·정보공학부",
    "academic_year": "3학년",
    "course_number": "400.320",
    "lecture_number": "001",
    "course_title": "공학연구의 실습 1",
    "credit": 1,
    "class_time": "토(1-2)",
    "instructor": "이혁재",
    "quota": 20,
    "enrollment": 4,
    "remark": "",
    "category": "",
    "_id": "576e4c63448362ae249e73e6",
    "class_time_mask": [
      0,
      0,
      0,
      0,
      0,
      251658240
    ],
    "class_time_json": [
      {
        "day": 5,
        "start": 1,
        "len": 2,
        "place": "301-103",
        "_id": "576e4c63448362ae249e73e7"
      }
    ],
    "__v": 0
  },
  {
    "year": 2016,
    "semester": 1,
    "classification": "전선",
    "department": "컴퓨터공학부",
    "academic_year": "3학년",
    "course_number": "400.320",
    "lecture_number": "002",
    "course_title": "공학연구의 실습 1",
    "credit": 1,
    "class_time": "화(13-1)/목(13-1)",
    "instructor": "이제희",
    "quota": 15,
    "enrollment": 11,
    "remark": "®컴퓨터공학부 및 제2전공생만 수강가능",
    "category": "",
    "_id": "576e4c63448362ae249e73e8",
    "class_time_mask": [
      0,
      12,
      0,
      12,
      0,
      0
    ],
    "class_time_json": [
      {
        "day": 1,
        "start": 13,
        "len": 1,
        "place": "302-308",
        "_id": "576e4c63448362ae249e73ea"
      },
      {
        "day": 3,
        "start": 13,
        "len": 1,
        "place": "302-308",
        "_id": "576e4c63448362ae249e73e9"
      }
    ],
    "__v": 0
  },
  {
    "year": 2016,
    "semester": 1,
    "classification": "교양",
    "department": "",
    "academic_year": "1학년",
    "course_number": "111.111",
    "lecture_number": "001",
    "course_title": "대학영어1",
    "credit": 1,
    "class_time": "월(1-2)",
    "real_class_time": "월(09:00~10:00)",
    "instructor": "이혁재",
    "quota": 20,
    "freshmanQuota": 20,
    "enrollment": 4,
    "remark": "",
    "category": "",
    "_id": "576e4c63448362ae249e73e6",
    "class_time_mask": [
      0,
      0,
      0,
      0,
      0,
      251658240
    ],
    "class_time_json": [
      {
        "day": 5,
        "start": 1,
        "len": 2,
        "place": "301-103",
        "_id": "576e4c63448362ae249e73e7"
      }
    ],
    "__v": 0
  },
]