HTTP 요청하기

dice0314·2023년 5월 26일
0

REST 원칙에 준수한 엔드포인트 작성하기

유저 전체 데이터 조회하기
=> GET /users

특정 유저 데이터 조회하기
=> GET /users/{user_id}

특정 유저의 정보 조회하기
=> GET /users/{user_id}/info

새로운 유저 생성하기
=> POST /users

유저 전체 데이터를 이름순으로 정렬하기
=> GET /users?sortBy=name

특정 지역에 있는 유저 목록을 조회하기
=> GET /locations/{location_id}/users
=> GET /users/locations/{location_id}

특정 유저의 전체 포스팅 목록 가져오기
=> GET users/{user_id}/posts

특정 유저의 새로운 글 쓰기
=> POST users/{user_id}/posts

특정 유저의 특정 포스트 삭제
=> DELETE users/{user_id}/posts/{post_id}

특정 포스트에 댓글 달기
=> POST posts/{post_id}/comments

특정 포스트에 댓글 가져오기
=> GET posts/{post_id}/comments

원칙에 준수한 쿼리 파라미터

Paging
=> ?page=1&per_page=30

Flitering
=> ?status=open

Sorting
=> ?direction=desc (역순)

Searching
=> ?q=javascript 

Postman 사용하기

Postman 사이트

1. HTTP 메서드 선택

  • GET, POST, PUT 등 요청할 메서드를 선택할 수 있다.

2. URL 입력 창

3. HTTP 요청 버튼

  • 1, 2, 4번에서 입력한 요청을 보낸다.

4. HTTP 요청 옵션 창

  • 추가적인 파라미터나, 요청 본문(body)을 추가할 수 있다.
  • roomname이라는 파라미터를 사용할 수 있으며, 사용하려면 Params 탭의 KEY, VALUE에 각각 roomname과 필요한 값을 입력해야 한다.
  • JSON 형식으로 보낼 때에는, raw를 선택해야 한다.

5. HTTP 응답 창

  • 요청을 보낸 후 받은 응답을 확인할 수 있다.

날씨 데이터 받아오기

날씨 Open API 사이트

api.openweathermap.org/data/2.5/weather?id={city id}&appid={your api key}
  • GET으로 날씨 데이터 받아보기
  • city id => 1835848(서울)
  • your api key => 사이트에서 발급받은 키
{
  "coord": {
    "lon": 126.9778,
    "lat": 37.5683
  },
  "weather": [
    {
      "id": 804,
      "main": "Clouds",
      "description": "overcast clouds",
      "icon": "04d"
    }
  ],
  "base": "stations",
  "main": {
    "temp": 296.81,
    "feels_like": 296.09,
    "temp_min": 294.84,
    "temp_max": 296.81,
    "pressure": 1019,
    "humidity": 33,
    "sea_level": 1019,
    "grnd_level": 1013
  },
  "visibility": 10000,
  "wind": {
    "speed": 2.83,
    "deg": 238,
    "gust": 3.24
  },
  "clouds": {
    "all": 100
  },
  "dt": 1685066937,
  "sys": {
    "type": 1,
    "id": 5509,
    "country": "KR",
    "sunrise": 1685045746,
    "sunset": 1685097760
  },
  "timezone": 32400,
  "id": 1835848,
  "name": "Seoul",
  "cod": 200
}
profile
정리노트

0개의 댓글

관련 채용 정보