Skip to content

API 명세서

seonuk edited this page Dec 31, 2020 · 8 revisions

API 명세서

api list

Get weather Api

메인 뷰에서 위도, 경도, 현재 시간을 이용해 현재 날씨에 관한 정보를 조회한다.

request

GET ~/currentWeather?lat={latitude}&lon={longitude}&time={currentTime}

Content-Type: application/json

Query String

Name Type Description Mandatory
lat Double 위도 정보 Y
lon Double 경도 정보 Y
time String 'YYYY-MM-DD-HH' 형식의 현재 시간 Y

Response

status code description
200 OK 실시간 현재 날씨에 관한 정보를 반환한다.
400 Bad Request Query string의 형식이 적합하지 않음
500 Internal Server Error 서버 에러

성공일 때 response body는 JSON 형식이며 아래와 같다.

{
    "realTimeWeatherInfo": {
        "dailyWeatherInfo": {
          "regionInfo": {
            "code": 123456,
            "name": "경기도 수원시"
          },
          "date": {
            "month": 12,
            "day": 31,
            "dayOfWeek": ""
          },
          "temperatureInfo": {
            "maxTemp": 4,
            "minTemp": -3
          }
        },

        "currentWeatherInfo": {
          "time": "오후 5시",
          "temperature": -4,
          "climateInfo": {
            "id": 2312,
            "description": "조금 흐리지만 따뜻함"
          }
        }
      },
   "code": 200,
   "message": "실시간 날씨 정보 반환 성공"
}
Name Type Description
realTimeWeatherInfo object of realTimeWeatherInfo 실시간 날씨 정보를 담은 객체
code integer 상태 코드
message string 상태 메세지

Get weather by code Api

메인 뷰에서 행정코드, 시간을 이용해 현재 날씨에 관한 정보를 조회한다.

request

GET ~/currentWeather?code={code}&time={currentTime}

Content-Type: application/json

Query String

Name Type Description Mandatory
code Integer 행정 코드 Y
time String 'YYYY-MM-DD-HH' 형식의 현재 시간 Y

Response

status code description
200 OK 실시간 현재 날씨에 관한 정보를 반환한다.
400 Bad Request Query string의 형식이 적합하지 않음
500 Internal Server Error 서버 에러

성공일 때 response body는 JSON 형식이며 아래와 같다.

{
    "realTimeWeatherInfo": {
        "dailyWeatherInfo": {
          "regionInfo": {
            "code": 123456,
            "name": "경기도 수원시"
          },
          "date": {
            "month": 12,
            "day": 31,
            "dayOfWeek": ""
          },
          "temperatureInfo": {
            "maxTemp": 4,
            "minTemp": -3
          }
        },

        "currentWeatherInfo": {
          "time": "오후 5시",
          "temperature": -4,
          "climateInfo": {
            "id": 2312,
            "description": "조금 흐리지만 따뜻함"
          }
        }
      },
   "code": 200,
   "message": "실시간 날씨 정보 반환 성공"
}
Name Type Description
realTimeWeatherInfo object of realTimeWeatherInfo 실시간 날씨 정보를 담은 객체
code integer 상태 코드
message string 상태 메세지

Get user api

user id (기기 번호 등 고유 식별자)로 유저의 정보를 조회

request

GET ~/users/:userId

Content-Type: application/json

Path Parameter

Name Type Description Mandatory
userId Integer 유저 고유 식별자 Y

Response

status code description
200 OK 유저의 정보를 반환한다.
400 Bad Request Path Parameter 형식이 적합하지 않음
500 Internal Server Error 서버 에러

성공일 때 response body는 JSON 형식이며 아래와 같다.

{
  "userInfo": {
    "id": 0,
    "nickname": "홍길동"
  },
  "code": 200,
  "message": "유저 정보 반환 성공!"
}
Name Type Description
userInfo object of userInfo 유저 정보를 담은 유저 객체

RESOURCE


realTimeWeatherInfo

실시간 날씨 정보 개요

example

{
  "dailyWeatherInfo": {
    "regionInfo": {
      "code": 123456,
      "name": "경기도 수원시"
    },
    "date": {
      "month": 12,
      "day": 31,
      "dayOfWeek": ""
    },
    "temperatureInfo": {
      "maxTemp": 4,
      "minTemp": -3
    }
  },

  "currentWeatherInfo": {
    "time": "오후 5시",
    "temperature": -4,
    "climateInfo": {
      "id": 2312,
      "description": "조금 흐리지만 따뜻함"
    }
  }
}
Name Type Description
dailyWeatherInfo object 일자별 날씨 정보
currentWeatherInfo object 시간별 날씨 정보

dailyWeatherInfo

일자별 날씨 정보 개요

example

{
  "regionInfo": {
    "code": 123456,
    "name": "경기도 수원시"
  },
  "date": {
    "month": 12,
    "day": 31,
    "dayOfWeek": ""
  },
  "temperatureInfo": {
    "maxTemp": 4,
    "minTemp": -3
  }
}
Name Type Description
regionInfo object 지역 정보
date object 오늘 일자
temperatureInfo object 최저/최고 온도

currentWeatherInfo

현재 시간 날씨 정보 개요

example

{
  "time": "오후 5시",
  "temperature": -4,
  "climateInfo": {
    "id": 2312,
    "description": "조금 흐리지만 따뜻함"
  }
}
Name Type Description
time string 현재 시간
temperature integer 현재 기온
climateInfo object 기후 정보

regionInfo

지역 정보

example

{
  "code": 123456,
  "name": "경기도 수원시"
}
Name Type Description
code integer 해당 지역 행정 코드
name string 지역 이름

date

날짜 정보

example

{
  "month": 12,
  "day": 31,
  "dayOfWeek": "" 
}
Name Type Description
month integer
day integer
dayOfWeek string 요일

temperatureInfo

온도 정보

example

{
  "maxTemp": 4,
  "minTemp": -3
}
Name Type Description
maxTemp integer 최대 온도
minTemp integer 최저 온도
dayOfWeek string 요일

climateInfo

기후 정보

example

{
  "id": 2312,
  "description": "조금 흐리지만 따뜻함"
}
Name Type Description
id integer 기후 정보 ID
description string 기후 설명 text

userInfo

유저 정보

example

{
  "id": 2312,
  "nickname": "홍길동"
}
Name Type Description
id integer 유저 식별자 (기기 id)
nickname string 유저 별명

weathyInfo

오늘 일자와 과거 기록 중 가장 비슷한 날의 날씨 및 옷 정보

example

{
  "dailyWeatherInfo": { },
  "clothingInfoList": [],
  "stampId": 1,
  "feedback": "목도리가 좋아요~"
}
Name Type Description
dailyWeatherInfo integer 일자별 날씨 정보
clothingInfoList array 옷 정보 리스트
stampId integer 사용자가 기록한 이모지 id
feedback string 사용자 피드백

clothingInfoList

옷 정보 리스트 clothingInfo로 구성됨

example

[
  {
      "id": 1,
      "categoryId": 2,
      "name": "까만 후드티"
  }
]
clothingInfo
Name Type Description
id integer 옷의 id
categoryId integer 옷이 해당하는 카테고리 id
name string 옷 이름