일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Express
- SOLID
- backend
- review
- python
- GAN
- react
- frontend
- postgresql
- ts
- ML
- sqlite
- DB
- CSS
- C++
- html
- Linux
- PyTorch
- UI
- nodejs
- ps
- Git
- API
- figma
- mongo
- Three
- js
- PRISMA
- vscode
- CV
- Today
- Total
목록API (10)
아카이브

Rest Client는 API를 조회할 수 있는 VSCode의 플러그인입니다.1. REST Client 플러그인 설치왼쪽 메뉴의 Extensions 탭에 들어가서 REST Client를 검색한 후 맨 위 프로그램을 설치합니다.2. 실행플러그인을 설치 한 뒤 .http 확장자를 가진 파일을 생성하여 API 호출 형식의 구문을 작성하면,send request라는 버튼이 생성되는 것을 확인할 수 있습니다.이 send request 버튼을 누르면, 오른쪽에 GET 요청에 따른 응답이 출력됩니다.(당연히, 해당 엔드포인트가 존재할 때만 나타납니다) POST와 같이 요청에 body가 필요한 경우에는 다음과 같이 한 칸 띄워서 작성합니다.만약 두 개 이상의 요청을 작성하려고 한다면, 다음과 같이 ### 으로 구분짓습..
Paginiation은 일정한 개수만큼 자원을 묶어 한 번에 보내는 방법을 뜻합니다.일반적으로 적은 양의 자원이 이동할 때는 서버와 클라이언트 모두 부담을 받지 않습니다.그러나 이동하는 자원의 양이 많아질 수록 한 번에 모든 자원을 보내는 것이 어려워지기 때문에,한 번의 통신에서 보내는 자원의 양을 정한 뒤 조금씩 나눠 보내는 것이 더 효율적입니다. Pagination이 적용된 API를 사용하면 응답과 요청에서 추가적인 정보를 포함할 수 있습니다.응답에서는 찾고자 하는 페이지의 정보나 한 페이지에 담을 자원을 양 등을 함께 넘겨줄 수 있으며,요청에서는 현재 페이지 번호, 전체 페이지 개수 등의 정보를 함께 보내줍니다.// 2번 페이지, 한 페이지 당 20개 씩GET /members?page=2&size=..
API versioning은 문자 그대로 API의 개발 버전을 명시하는 행위입니다.API는 엔드포인트가 추가/제거 되거나, 사용 방법이 바뀌기 때문에 이를 사용자가 알 수 있도록 명시해야 합니다.특히 엔드포인트의 사용방법이 바뀐다면, 사용자가 이를 알지 못하고 사용했을 때 프로그램에 치명적인 오류가 발생할 수 있습니다. 이 때문에 엔드포인트에 큰 변경 사항이 있다면, 기존 엔드포인트는 수정하지 않되 변경 사항이 적용된 새로운 엔드포인트를 만들어 배포하는 방법이 사용됩니다.이 엔드포인트는 기존의 것과 동일한 이름을 사용하지만, 둘을 구분하기 위해 버전명을 명시하게 됩니다.GET /v1/members/ // 첫 번째 버전GET /v2/members/ // 두 번째 버전사용자는 여전히 v1, v2 엔드포인..
캐시 가능성은 API 통신 간 자주 호출되는 데이터를 캐시 메모리에 별도로 저장하는 것으로, REST API의 조건 중 하나입니다.API 캐싱은 요청/응답의 header에 명시된 정보를 통해 그 여부를 판단할 수 있습니다.1. Cache-Control headerCache-Control header의 max-age값은 해당 자원이 캐싱될 경우, 얼마나 유효한지를 초 단위로 나타냅니다.예를 들어, max-age=60일 때는 응답의 자원이 캐시 된 후 60초 내로 동일한 자원을 요청하면 캐시에 보관된 데이터를 바로 사용할 수 있습니다. 60초 이후 새로운 요청이 있다면, 응답할 때 자원은 다시 캐시됩니다.client >>> GET /members/1/profileserver 2. Last-Modified h..
하이퍼미디어를 사용한 애플리케이션 상태 표현 (Hypermedia As The Engine Of Application State, HATEOAS) HATEOAS는 하이퍼미디어를 사용하여 애플리케이션의 상태 표현하거나 변경하는 방법을 제공해야 한다는 조건입니다. 일반적으로 응답에 대한 요청은 json형식을 많이 사용합니다.하지만 json은 자원에 대한 표현만 나타낼 뿐, 애플리케이션에서 그 자원을 이용해 무엇을 더 할 수 있는지는 전달하지 않습니다.{ "id": "1", "name": "John",}때문에 응답은 json과 함께 또 다른 타입의 데이터를 보내 어떤 동작을 수행할 수 있는지를 설명해야 합니다.{ "id": "1", "name": "John", "delete": { ..

자기 서술적 메시지 (self-descriptive messages) API 통신에서 요청과 응답은 모두 문자열을 형태로 전달됩니다. 때문에 API를 통해 사전에 약속된 내용이 아닌 정보는 상대가 해석하기 어려울 수 밖에 없습니다. 이 때문에 좀 더 다양한 종류의 정보를 보내기 위해서는 메시지 자신이 어떤 내용을 담고 있는지 스스로 설명할 수 있어야 합니다. 이를 자기 서술적 메시지라고 합니다. 메세지가 자신을 설명할 수 있으려면 메세지의 구조, 의미 등을 해석할 수 있는 방법을 함께 전달해야 합니다.이를 전달 할 수 있는 방법은 크게 두 가지가 있습니다.1. Content Type: Media type Content Type 헤더는 해당 문서의 데이터가 어떤 종류(텍스트, 이미지, 프로그램 등)인지를 ..
표현을 통한 자원에 대한 조작 (manipulation of resources through representations)URI가 자원을 명시하는 부분이라면, HTTP Method는 그 자원을 어떻게 할 것인지에 대한 동작을 명시합니다.따라서 API 요청은 동작을 담당하는 HTTP Methoddhk 자원을 담당하는 URI의 조합으로 이루어집니다. 아래에 대표적인 HTTP Method에 대해 정리하였습니다.1. GET자원을 가져옵니다. 가져오기만 할 뿐 자원 자체를 수정하지 않으므로 안전한 메소드라고 할 수 있습니다.요청시 json 형식의 자원과 상태코드 200 OK를 반환합니다.GET /members2. POST자원을 추가합니다. 요청시 json 형식의 자원과 상태코드 201 Created를 반환합니다...
자원에 대한 식별 (identification of resources) REST의 조건 중 '자원에 대한 식별'은 다루고자 하는 자원에 특정한 이름을 부여함으로서 그 자원을 식별할 수 있어야 함을 의미합니다. 웹 API는 URI를 사용하여 자원에 대한 식별을 하고 있습니다. 이를 위해서는 URI 안에 자원에 대한 명시가 있어야 하고, 그 자원을 식별할 수 있는 고유한 ID(식별자) 또한 URI에 포함하여야 합니다. 아래에 '자원에 대한 식별'를 위한 URI의 표기 방법을 정리하였습니다.1. 명사 사용URI는 특정 동작을 수행할 대상을 나타낸 명령어입니다. 때문에 일반적으로 URI는 함수와 달리 명사형으로 자원을 나타냅니다.# (x)/get-member-list/create-new-article# (o)..