본문 바로가기

verdantjuly/Today I Learned

TIL 20230512

728x90

오늘 목표

어제 TIL 리뷰

팬명록 완성

프로그래머스 코딩테스트 입문 : 분수의 덧셈

<모던 자바스크립트 딥 다이브> 한 페이지라도 읽기

[ 맛풀 ] 1부분이라도 업데이트 하기

 

오늘 한 것

어제 TIL 리뷰

HTTP 코드 및 REST API 이해.

팬명록 완성

프로그래머스 코딩테스트 입문 : 분수의 덧셈

<모던 자바스크립트 딥 다이브> ~p.8

[ 맛풀 ] 음식 분류 업데이트 완료

 

1. HTTP 코드별 의미

알게된 것

 

100 - 199

정보 제공용 상태 코드

 

200 - 299

성공 코드

200 OK 

201 Created

202 승인됨

204 콘텐츠 없음 (삭제 완료)

 

400 - 499

클라이언트 오류 코드

404 Not Found 찾을 수 없음 : 클라이언트 URL이 잘못된 경우

500 - 599

서버 오류 코드

500 내부 서버 오류

 

참고 자료 : https://www.moesif.com/blog/technical/api-design/Which-HTTP-Status-Code-To-Use-For-Every-CRUD-App/#200---299

 

2. 팬명록 완성

 

 

3. REST API

알게 된 점

 

REST API

웹의 장점을 최대한 활용할 수있는 아키텍처로서 REST를 발표함.

REST의 규칙을 지키면서 만든 API를 REST API 혹은 RESTful API라고 부릅니다.

API

Application Programming Interface(애플리케이션 프로그램 인터페이스)

> 중간 전달자, e.g. 은행 창구

 

REST의 특징

1) Uniform (유니폼 인터페이스) 

2) Stateless (무상태성) 

3) Cacheable (캐시 가능) 

4) Self-descriptiveness (자체 표현 구조) : REST API만 보고도  쉽게 이해 가능한 구조

5) Client - Server 구조 : 서버는 API 제공 / 클라이언트는 사용자인증, 로그인 정보 관리 로 역할 확실히 구분

6) 계층형 구조

 

REST API 중심 규칙

1) URI는 정보의 자원을 표현해야 한다. 

    - 리소스 명은 동사보다 명사를 사용

2) 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.

 

GET 조회
POST 생성
PUT 수정
DELETE 삭제

 

URI 설계 시 주의할 점

1) 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용

2) URI 마지막 문자로 슬래시(/)를 포함하지 않는다.

3) 하이픈(-)은 URI 가독성을 높이는데 사용

4) 밑줄(_)은 URI에 사용하지 않는다.

5) URI 경로에는 소문자가 적합하다.

6) 파일 확장자는 URI에 포함시키지 않는다.

 

e.g.

restapi.example.com/sports/soccer/players/13

Collection  : 복수 : sports, player

Document  : 단수  : soccer과 13

 

URI은 개발자가 마음대로 작성할 수 있지만

REST한 표현을 위해서 콜렉션은 복수로 도큐먼트는 단수로 표현하자

 

콜렉션은 문서(도큐먼트)를 하위에 여럿가지고 있고,

문서(도큐먼트)는 단일페이지에 여러 객체를 가지고있다.

 

HTTP 응답 상태 코드 : 코드로 반환하면 뭔 상태인지 파악이 빠름

참고자료 :  https://www.moesif.com/blog/technical/api-design/Which-HTTP-Status-Code-To-Use-For-Every-CRUD-App/

 

 

 

REST API 참고자료 

URI 설계시 유의할점 : [URL 주소컨벤션]  https://blog.pumpkin-raccoon.com/115

URI, URL, URN의 차이 : https://velog.io/@minsu8834/What-is-Rest-Api-1%ED%83%84-URI-URL-URN%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

 

 


정리 

 

HTTP 코드별 의미

100 - 199

정보 제공용 상태 코드

 

200 - 299

성공 코드

200 OK 

201 Created

202 승인됨

204 콘텐츠 없음 (삭제 완료)

 

400 - 499

클라이언트 오류 코드

404 Not Found 찾을 수 없음 : 클라이언트 URL이 잘못된 경우

500 - 599

서버 오류 코드

500 내부 서버 오류

 

 

REST API

웹의 장점을 최대한 활용할 수있는 아키텍처로서 REST를 발표함.

REST의 규칙을 지키면서 만든 API를 REST API 혹은 RESTful API라고 부릅니다.

API

Application Programming Interface(애플리케이션 프로그램 인터페이스)

> 중간 전달자, e.g. 은행 창구

 

REST의 특징

1) Uniform (유니폼 인터페이스) 

2) Stateless (무상태성) 

3) Cacheable (캐시 가능) 

4) Self-descriptiveness (자체 표현 구조) : REST API만 보고도  쉽게 이해 가능한 구조

5) Client - Server 구조 : 서버는 API 제공 / 클라이언트는 사용자인증, 로그인 정보 관리 로 역할 확실히 구분

6) 계층형 구조

 

REST API 중심 규칙

1) URI는 정보의 자원을 표현해야 한다. 

    - 리소스 명은 동사보다 명사를 사용

2) 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.

 

GET 조회
POST 생성
PUT 수정
DELETE 삭제

 

URI 설계 시 주의할 점

1) 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용

2) URI 마지막 문자로 슬래시(/)를 포함하지 않는다.

3) 하이픈(-)은 URI 가독성을 높이는데 사용

4) 밑줄(_)은 URI에 사용하지 않는다.

5) URI 경로에는 소문자가 적합하다.

6) 파일 확장자는 URI에 포함시키지 않는다.

 

e.g.

restapi.example.com/sports/soccer/players/13

Collection  : 복수 : sports, player

Document  : 단수  : soccer과 13

 

URI은 개발자가 마음대로 작성할 수 있지만

REST한 표현을 위해서 콜렉션은 복수로 도큐먼트는 단수로 표현하자

 

콜렉션은 문서(도큐먼트)를 하위에 여럿가지고 있고,

문서(도큐먼트)는 단일페이지에 여러 객체를 가지고있다.

 

HTTP 응답 상태 코드 : 코드로 반환하면 뭔 상태인지 파악이 빠름

 

소감

어제도 그렇지만 오늘 팬명록도 강의를 안 보고 이전 코드만 가끔 참고해서 스스로 해결하려고 노력하였다. 언젠가 참고도 하지 않고 술술 써나갈 수 있으면 좋겠다. REST API에 대한 개념이 명확하지 않아 트랙의 질문방에 질문을 넣었더니 좋은 자료를 잔뜩 받았다. 전부 이해해 봐야지. 신난다.

 

 

 

 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20230514  (1) 2023.05.14
TIL 20230513  (1) 2023.05.13
TIL 20230511  (1) 2023.05.11
TIL 20230510  (1) 2023.05.10
TIL 20230509  (1) 2023.05.09