캠퍼스 장소
학교 캠퍼스 지도가 쓰는 장소 목록을 로그인 없이 받습니다. 건물과 편의시설의 이름, 위도와 경도, 안내 정보가 들어 있어서 지도 앱이나 학내 안내 서비스에 바로 쓸 수 있습니다. 공통 규칙은 공통 규칙입니다.
요청 파라미터
섹션 제목: “요청 파라미터”Python은 snake_case(campus_places), Node.js와 Java는 camelCase(campusPlaces)입니다. Java는 campusPlaces()와 campusPlaces(String placeType) 두 형태가 있고, Node.js는 campusPlaces(placeType = '')입니다.
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
place_type |
문자열 | 선택 | "" |
학교의 장소 유형 값. 고정 목록이 아니라 결과의 place_type 값을 그대로 넘겨 거를 수 있고, 비우면 유형 제한 없이 받습니다 |
- 반환은
CampusPlace목록입니다.
학교 요청
GET https://www.sejong.ac.kr/kor/intro/campus-map.do?mode=getPlaceUserList&placeType=<유형>, 응답 배열items.
응답 데이터 구조
섹션 제목: “응답 데이터 구조”예시 JSON입니다. 필드 이름은 Python snake_case이고 Node.js와 Java는 camelCase입니다. 학교 데이터는 바뀌므로 값은 예시입니다.
[ { "id": "3", "name": "산들푸드", "name_en": "", "place_type": "WELFARE", "category": "식당", "latitude": 37.5495931628, "longitude": 127.0751638599, "info": "학생회관 B1층", "phone": "02-000-0000", "description": "", "extra": { "orderNo": "1", "useYn": "Y" } }]값이 없으면 빈 문자열이고, 위도와 경도는 숫자(없거나 읽을 수 없으면 0.0)입니다.
| 필드 | 학교 키 | 설명 |
|---|---|---|
id |
id |
장소 번호. 식당 번호와는 다른 체계 (학식) |
name, name_en |
placeName, placeNameEn |
한국어, 영어 이름 |
place_type |
placeType |
장소 유형 (예: BUILDING, WELFARE) |
category |
welfareCategory |
편의시설 분류 |
latitude, longitude |
latitude, longitude |
위도, 경도 (실수) |
info |
placeInfo |
안내 정보 |
phone |
telNum |
전화번호 |
description |
description |
설명 |
extra |
그 밖의 필드 | 학교 원문 필드 |
- 유형 값마다 하루(기본 86400초) 캐시하고, 호출당 학교 요청은 한 번입니다.
- 학교 쪽 실패(연결, 시간 초과, 비정상 응답,
items없음)는 마지막 캐시 값 또는 빈 목록입니다. 캐시가 없으면 60초(기본) 동안 요청 없이 빈 목록입니다. - 이 메서드는 예외를 던지지 않습니다.
- 빈 목록은 「장소가 없음」과 「학교 쪽 문제」를 구분하지 못합니다.
알려진 한계
섹션 제목: “알려진 한계”- 장소
id는 식당 메뉴의 식당 번호와 다른 체계이고, 둘을 잇는 값이 없습니다. - 위도·경도가 없으면
0.0이므로 지도에 찍기 전에 확인하세요. phone,info는 학교가 입력한 값 그대로입니다. 외부에 그대로 내보내기 전에 값을 확인하세요.- 계약 원본: spec/PUBLIC_DATA.md
예시 코드
섹션 제목: “예시 코드”List<CampusPlace> places = publicData.campusPlaces();for (CampusPlace place : places) { System.out.println(place.getName() + " " + place.getLatitude() + "," + place.getLongitude());}places = public_data.campus_places()for place in places: print(place.name, place.latitude, place.longitude)const places = await publicData.campusPlaces();for (const place of places) console.log(place.name, place.latitude, place.longitude);