'갑분싸'로 웹을 하게 되었는데 REST, RESTful이 뭔지 개념이 없다. ㅋ~~ 사실 웹자체에 개념이 없다. ㅎㅎ
거거거중지 행행행리각 - 가고 가고 가는 가운데 알게 되고 행하고 행하고 행하다보면 깨닫게 된다 - 란 뜻이다. 익히고 익히다 보면 알게되고 알게된 상태에서 익히고 익히다 보면 숙달하게 되고 또 익히고 익히면 통달하게 된다.
그러니 일단 뭔지 한번 읽고읽어보자
https://docs.microsoft.com/ko-kr/azure/architecture/best-practices/api-design
https://docs.microsoft.com/ko-kr/azure/architecture/best-practices/api-implementation
REST는 정보들을 주고 받는데 있어서 사용되는 형식이자 규약이다. 처음에는 REST를 기능 또는 기술로 인식을 하고 있었다. 기술이나 제품이 아니라 형식이기 때문에 어떤 프레임워크를 쓰든 형식에 맞춰서 사용만 하면 오만가지에서 다 사용할 수 있다.
REST의 가장 중요한 특성은 각 동작이 어떤 동작이나 정보를 위한 것인지를 요청하는 모습 자체로 추론이 가능하다는 것이다. 요청을 보낸 주소만으로도 이 요청이 어떤 요청인지 파악이 가능하도록 만들어야 한다.
REST API는 리소스를 중심으로 디자인 한다.(무슨 말인지?) REST는 말 그대로 규약으로 지키지 않는다고 웹이 동작하지 않는 것은 아니다. 단지 RESTful하지 않은 API라는 소리를 들을 뿐...
http 기반이기 때문에 주소가 나오고 주소의 '/' 뒤에 식별자들이 나오는데 식별자로 리소스를 명을 사용한다. 세부항목으로는 해당 리소스의 ID를 사용하면 된다.
리소스를 중심으로 디자인한다는 말은 URI는 리소스 중심으로 만들고(URI에 리소스 동작에 대한 설명은 없어야 한다) 리소스에 대한 동작은 HTTP의 method로 지원해야 한다. 각 CRUD method는 각각의 의미가 있기 때문에 각 의미에 맞추어 코드를 개발하면 된다.
그렇기 때문에 리소스 URI는 동사(리소스에 대한 작업)가 아닌 명사(리소스)를 기반으로 기술되어야 한다.
이제 '감'이 오기 시작한다.
'karma( 업 ) > Web' 카테고리의 다른 글
AWS EC2 프리티어에 요금이 발생했다!!!!! (0) | 2019.11.05 |
---|---|
Flask Blueprint, REST, REST API? (0) | 2019.10.28 |
부트스트랩? (0) | 2019.10.21 |
AWS EC2에 face_recognition 설치하기( dlib 오류처리 ) (0) | 2019.10.18 |
Working with Models, SQLAlchemy, and Hyperlinked APIs in Flask (0) | 2019.10.15 |