HTTP TIL 05

Nabang Kim·2021년 7월 30일
0

HTTP

목록 보기
5/13
post-thumbnail

2021년 7월 30일에 작성된 문서 입니다.
http의 배운 내용을 정리했습니다.



REST (Representational State Transfer) API

웹에서 사용되는 모든 자원을 HTTP URI로 표현하고, HTTP Method를 통해 요청과 응답을 정의하는 방식

  • REST API를 사용한다: REST 아키텍처의 제약 조건을 준수한다는 뜻.

Endpoint

http://3.36.72.17:3000

  • root-endpoint(혹은 root-URL): API로 요청을 서버와 통신할 때, 서버가 요청을 수락하는 시작점.

Github API의 root-endpoint는 https://api.github.com이고, 트위터 API의 root-endpoint는 https://api.twitter.com입니다. 일반적으로 root-endpoint는 도메인 주소의 루트(/)를 가리킵니다. 마찬가지로 Message States Server 의 URL을 기준으로 파악할 수 있는 root-endpoint는 Message States Server의 가장 마지막 Location인 호스트의 루트(/)입니다.

  • path: path(또는 url-path)는 API를 통해 서버와 통신할 때, 서버와 통신할 수 있는 key 역할. 서버에 정의된 문자열에 따라 path가 달라진다.
    • https://api.github.com/user 에서는 'user'가 path.

메시지 조회

Request

GET /{githubID}/messages
// githubID가 작성한 모든 메시지를 조회
  • {githubID} 부분 : 요청하는 사람의 아이디.
GET /kimcoding/messages
//kimcoding이 작성한 모든 메시지를 조회
  • 이 요청에는 추가적인 파라미터(query parameter)를 사용할 수 있다.

/kimcoding/messages?roomname=로비

  • 파라미터 정보
parameter형식설명필수 포함 여부
roomname방 이름(문자열)특정 roomname만 조회필수 아님



Response

응답은 JSON 형식.

//[데이터] Request에 따른 Response 예시
[
  {
    "id": 1,
    "username": "김코딩",
    "text": "안녕하세요",
    "roomname": "로비",
    "date": "2021-07-28T03:54:21.134"
  },
  // ...여러 개의 메시지
]
  • 메시지에서 사용하는 속성 (파라미터 정보)
parameter형식설명
id숫자고유한 아이디
username문자열사용자 이름
text문자열본문 내용
roomname문자열방 이름
date문자열작성한 시간



메시지 추가

Request

//githubID가 작성한 메시지를 생성
POST /{githubID}/messages
  • {githubID} 부분 : 각 개인의 아이디 메시지는 24시간마다 자동 리셋

요청 본문엔 다음 내용을 반드시 포함해야 합니다.

  • 요청 형식: JSON
    • MIME 타입: application/json
  • 파라미터 표
parameter형식설명필수 포함 여부
username문자열사용자 이름필수
text문자열본문 내용필수
roomname문자열방 이름필수



Response

  • 응답은 JSON 형식.
//Request에 따른 Response 예시
{
  "id": 5
}
  • id는 숫자 형식이며, 새로 생성된 메시지의 고유한 ID값.



메시지 초기화

Request

//githubID가 작성한 메시지를 초기화
POST /{githubID}/clear
  • 요청 본문은 필요하지 않다.



Response

  • 응답은 JSON 형식.
//Request에 따른 Response 예시
{
  "message": "message initialized!"
}



Written with StackEdit.

0개의 댓글

관련 채용 정보