Skip to content
yongseok edited this page May 22, 2023 · 5 revisions

API 문서

위치 확인

설명

  • 요청 위치를 확인해 좌표를 제공하는 API입니다.
  • error 발생 기본 위치는 광화문

요청

HTTP 메서드: GET

URL: /api/geolocation

매개변수

  • 없음

예시

GET /api/geolocation

응답

성공 응답

HTTP 상태 코드: 200 OK

응답 본문:

{
  "status": 200,
  "massage": null,
  "data": { "lng": 126.97738, "lat": 37.575843 }
}

실패 응답

HTTP 상태 코드: 500 Internal Server Error

응답 본문:

{
  "status": 500,
  "massage": "외부 API 요청 중 오류가 발생했습니다.",
  "data": {
    "lat": 37.575843,
    "lng": 126.97738
  }
}

주변 장소 리스트

설명

  • 사용자 주변의 최기 장소정보 리스트를 제공하는 API입니다.

요청

HTTP 메서드: GET

URL: /api/place/list

매개변수

매개변수 타입 설명
type number[] 조회 장소 유형 (all)
lng number 사용자 지도 중심 (126.97738)
lat number 사용자 지도 중심 (37.575843)
page number 출력 결과 페이지 (1)
size number 공원,둘레길,문화시설 별 조회 개수 (10)
  • type
    • 공원 : 0
    • 둘레길 : 1
    • 미술관 : 2
    • 공연장 : 3
    • 도서관 : 4
    • 박물관/기념관 : 5
    • 문화원 : 6
    • 기타 : 7

예시

GET /api/place/list?type=1,7,0&lng=126.922027&lat=37.564501&page=1&size=1

응답

성공 응답

HTTP 상태 코드: 200 OK

응답 본문:

{
  "status": 200,
  "message": "Success",
  "data": [
    {
      "id": 132,
      "type": { "code": 0, "msg": "공원" },
      "name": "서울로7017",
      "content": "서울로7017은 70년대 준공된 서울역 고가가 안전에 문제점이 도출되면서 철거가 될 상황에 놓여지게 되었는데 이를 상징적으로는 서울의 관문이자 지역재생의 촉매제 역할을 담당하는 17개의 사람길로 재탄생된 곳입니다. 공중보행로의 기능과 녹지가 결합되어 살아있는 식물도감이 되며 1km의 도심전망대 역할까지 수행하고 있습니다.",
      "lng": 0.0,
      "lat": 0.0,
      "image": ["http://parks.seoul.go.kr/file/info/view.do?fIdx=1477"],
      "detail": {
        "area": "",
        "mainEquip": "",
        "mainPlants": "",
        "directions": "중림 만리동(서울로 종점부에서 진입) 지하철- 충정로(경기대입구)",
        "address": "서울로7017",
        "tel": "02-313-7017",
        "distance": null,
        "leadTime": null,
        "relateSubway": null,
        "path": null,
        "homepage": ""
      },
      "near": 0.0
    },
    {
      "id": 471,
      "type": { "code": 7, "msg": "기타" },
      "name": "동작구 문화관광",
      "content": "휴관일: ",
      "lng": 0.0,
      "lat": 0.0,
      "image": [
        "https://culture.seoul.go.kr/cmmn/file/getImage.do?atchFileId=ATH_SPC_000000000000000000100649&thumb=Y"
      ],
      "detail": {
        "area": null,
        "mainEquip": null,
        "mainPlants": null,
        "directions": null,
        "address": "서울 동작구 노량진동 47-2 ",
        "tel": "02-820-1114",
        "distance": null,
        "leadTime": null,
        "relateSubway": "",
        "path": null,
        "homepage": "http://www.dongjak.go.kr/"
      },
      "near": 0.0
    },
    {
      "id": 396,
      "type": { "code": 1, "msg": "둘레길" },
      "name": "우이령 나들길",
      "content": "우이령 길은 서울 우이동과 경기도 양주시를 연결하는 6.8km의 소로였으나. 1968년 1.21사태 당시 무장공비 침투로로 이용된 후 안보상의 이유로 폐쇄되었다가, 결국 2009년 7월 10일에 탐방객 수를 제한하는 조건으로 우이령이 재개방되었다. 특히 우이령 구간은 맨발로 걸을 수 있도록 정비되어 자연을 마음껏 느낄 수 있다.<br />",
      "lng": 126.99581,
      "lat": 36.78446,
      "image": [],
      "detail": {
        "area": null,
        "mainEquip": null,
        "mainPlants": null,
        "directions": null,
        "address": null,
        "tel": null,
        "distance": "7.95km",
        "leadTime": "2시간30분",
        "relateSubway": "1호선,4호선",
        "path": [
          { "lng": 126.9705, "lat": 36.79914 },
          { "lng": 126.99613, "lat": 36.78417 },
          { "lng": 126.99716, "lat": 36.7833 },
          { "lng": 126.99748, "lat": 36.78272 },
          { "lng": 126.99789, "lat": 36.78216 },
          { "lng": 127.00051, "lat": 36.77954 },
          { "lng": 127.00243, "lat": 36.77754 },
          { "lng": 127.00331, "lat": 36.77667 },
          { "lng": 127.01072, "lat": 36.76482 },
          { "lng": 126.99581, "lat": 36.78446 },
          { "lng": 126.97323, "lat": 36.79854 },
          { "lng": 126.97746, "lat": 36.79838 },
          { "lng": 126.98899, "lat": 36.78976 },
          { "lng": 126.99467, "lat": 36.79428 },
          { "lng": 127.01199, "lat": 36.76254 },
          { "lng": 126.99413, "lat": 36.7864 },
          { "lng": 126.99226, "lat": 36.78859 }
        ],
        "homepage": null
      },
      "near": 0.78352
    }
  ]
}

참고사항: 값이 없으면 null

실패 응답

HTTP 상태 코드: 400 Bad Request

응답 본문:

{
  "status": 400,
  "massage": "유효하지 않은 위치 입니다."
}

검색 장소 리스트

설명

  • 검색어를 통한 지도 주변의 장소정보 리스트를 제공하는 API입니다.

요청

HTTP 메서드: GET

URL: /api/place/search

매개변수

매개변수 타입 설명
q string 사용자 입력 검색어
lng number 사용자 지도 중심의 경도 (126.97738)
lat number 사용자 지도 중심의 위도 (37.575843)
page number 검색 결과 페이지 (1)
size number 공원,둘레길,문화시설 별 조회 개수 (10)

예시

GET /api/place/search?q=흑석&lng=126.922027&lat=37.564501&page=1&size=2

응답

성공 응답

HTTP 상태 코드: 200 OK

응답 본문:

{
  "status": 200,
  "message": "Success",
  "data": [
    {
      "id": 101,
      "type": { "code": 7, "msg": "기타" },
      "name": "흑석체육센터",
      "content": "관람시간: 평일(월~금) : 06:00~22:00  토요일 : 06:00~21:00/일요일(1주) : 10:00~19:00, 휴관일: 공휴일 및 5주째 일요일",
      "lng": 126.9633745,
      "lat": 37.5099926,
      "image": [
        "https://culture.seoul.go.kr/cmmn/file/getImage.do?atchFileId=ATH_SPC_000000000000000000100824&thumb=Y"
      ],
      "detail": {
        "area": null,
        "mainEquip": null,
        "mainPlants": null,
        "directions": null,
        "address": "서울  동작구 흑석동  현충로 73",
        "tel": "(02)823-2273~4",
        "distance": null,
        "leadTime": null,
        "relateSubway": "",
        "path": null,
        "homepage": "http://www.idongjak.or.kr/"
      },
      "near": 0.06842
    },
    {
      "id": 722,
      "type": { "code": 7, "msg": "기타" },
      "name": "재단법인 동작문화재단",
      "content": "휴관일: 토, 일요일 및 공휴일",
      "lng": 126.959885366268,
      "lat": 37.5074908749187,
      "image": [
        "https://culture.seoul.go.kr/cmmn/file/getImage.do?atchFileId=941cab4372da45018084c086b870d517&thumb=Y"
      ],
      "detail": {
        "area": null,
        "mainEquip": null,
        "mainPlants": null,
        "directions": null,
        "address": "서울특별시 동작구 흑석로 93-1",
        "tel": "02-826-9330",
        "distance": null,
        "leadTime": null,
        "relateSubway": "",
        "path": null,
        "homepage": "https://www.idfac.or.kr/"
      },
      "near": 0.06844
    }
  ]
}

실패 응답

HTTP 상태 코드: 200 OK

응답 본문:

{
  "status": 200,
  "massage": "검색 결과가 없습니다"
}

장소 상세 정보

설명

  • 장소 id를 바탕으로 상세 정보를 제공하는 API입니다.

요청

HTTP 메서드: GET

URL: /api/place/detail

매개변수

매개변수 타입 설명
type number 장소의 type 값
id number 리스트 내 장소의 id 값

예시

GET /api/place/detail?type=7&id=101

응답

성공 응답

HTTP 상태 코드: 200 OK

응답 본문:

{
  "status": 200,
  "message": "Success",
  "data": {
    "id": 101,
    "type": { "code": 7, "msg": "기타" },
    "name": "흑석체육센터",
    "content": "관람시간: 평일(월~금) : 06:00~22:00  토요일 : 06:00~21:00/일요일(1주) : 10:00~19:00휴관일: 공휴일 및 5주째 일요일",
    "lng": 126.9633745,
    "lat": 37.5099926,
    "image": [
      "https://culture.seoul.go.kr/cmmn/file/getImage.do?atchFileId=ATH_SPC_000000000000000000100824&thumb=Y"
    ],
    "detail": {
      "area": null,
      "mainEquip": null,
      "mainPlants": null,
      "directions": null,
      "address": "서울  동작구 흑석동  현충로 73",
      "tel": "(02)823-2273~4",
      "distance": null,
      "leadTime": null,
      "relateSubway": "",
      "path": null,
      "homepage": "http://www.idongjak.or.kr/"
    }
  }
}

참고사항: data.detail.*의 경우 값이 없으면 null

  • id: 레코드 아이디,
  • type{}: 시설 타입 정보
    • code: 0~7
    • msg: code에 대한 이름 값
  • name: 시설 이름
  • content: 기본 설명
  • lng: 경도
  • lat: 위도
  • image[]: 이미지 url
  • detail{}: 원본 데이터에 따라서 값이 없는 경우 null
    • area: 공원 면적
    • mainEquip: 공원 시설
    • mainPlants: 공원 식물
    • directions: 문화/둘레길 길안내
    • address: 공원/문화 주소
    • tel: 공원/문화 전화번호
    • distance: 둘레길 길이
    • leadTime: 둘레길 소요시간
    • relateSubway: 둘레길 연계 지하철역
    • path: 둘레길 코스 지점 좌표
    • homepage: 공원/문화 홈페이지 주소

실패 응답

HTTP 상태 코드: 400 Bad Request

응답 본문:

{
  "status": 404,
  "massage": "결과를 찾을 수 없습니다"
}

날씨확인

설명

  • 지역정보를 바탕으로 기상 정보를 제공하는 API입니다.

요청

HTTP 메서드: GET

URL: /api/weather

매개변수

매개변수 타입 설명
lng int 사용자 지도 중심의 경도 (126.97738)
lat int 사용자 지도 중심의 위도 (37.575843)

예시

GET /api/weather?lng=126.922027&lat=37.564501

응답

성공 응답

HTTP 상태 코드: 200 OK

응답 본문:

{
  "status": 200,
  "message": "Success",
  "data": [
    {
      "district": "",
      "date": "2023/05/22",
      "skyCode": 1,
      "skyName": "맑음",
      "ptyCode": 0,
      "ptyName": "없음",
      "pop": 0,
      "airMaxIndex": 202,
      "airGradeCode": 2,
      "airGradeName": "나쁨"
    },
    {
      "district": "",
      "date": "2023/05/22",
      "skyCode": 1,
      "skyName": "맑음",
      "ptyCode": 0,
      "ptyName": "없음",
      "pop": null,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": "",
      "date": "2023/05/23",
      "skyCode": 1,
      "skyName": "맑음",
      "ptyCode": 0,
      "ptyName": "없음",
      "pop": 0,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": "",
      "date": "2023/05/24",
      "skyCode": 1,
      "skyName": "맑음",
      "ptyCode": 0,
      "ptyName": "없음",
      "pop": 0,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/25",
      "skyCode": 3,
      "skyName": "구름많음",
      "ptyCode": null,
      "ptyName": null,
      "pop": 30,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/26",
      "skyCode": 4,
      "skyName": "흐림",
      "ptyCode": null,
      "ptyName": null,
      "pop": 40,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/27",
      "skyCode": 4,
      "skyName": "흐림",
      "ptyCode": null,
      "ptyName": null,
      "pop": 40,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/28",
      "skyCode": 4,
      "skyName": "흐림",
      "ptyCode": null,
      "ptyName": null,
      "pop": 40,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/29",
      "skyCode": 4,
      "skyName": "흐림",
      "ptyCode": null,
      "ptyName": null,
      "pop": 40,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/30",
      "skyCode": 4,
      "skyName": "흐림",
      "ptyCode": null,
      "ptyName": null,
      "pop": 40,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/05/31",
      "skyCode": 3,
      "skyName": "구름많음",
      "ptyCode": null,
      "ptyName": null,
      "pop": 30,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    },
    {
      "district": null,
      "date": "2023/06/01",
      "skyCode": 1,
      "skyName": "맑음",
      "ptyCode": null,
      "ptyName": null,
      "pop": 10,
      "airMaxIndex": 0,
      "airGradeCode": 0,
      "airGradeName": null
    }
  ]
}

참고 사항:

- (공통) 하늘상태(sky) 코드 : 맑음(1), 구름많음(3), 흐림(4)
- (공통) 강수형태(pty) 코드 : 없음(0), 비(1), 비/눈(2), 눈(3), 소나기(4) , 빗방울(5), 빗방울눈날림(6), 눈날림(7)
- (공통) 강수확률(pop) *당일 제외
- 조회 당일 
  - 통합대기환경지수(airMaxIndex): 0~50: 좋음, 51~100: 보통, 101~250: 나쁨, 251이상: 매우나쁨
  - 통합대기환경지수 등급(airGrade): 0 좋음, 1 보통, 2 나쁨, 3 매우나쁨

실패 응답

HTTP 상태 코드: 400 Bad Request

응답 본문:

{
  "status": 400,
  "massage": "유효하지 않은 요청입니다"
}

20230512 최초작성 20230522 수정 1차