
Application Programming Interface의 약자로,
애플리케이션을 프로그래밍 할 때, 보다 쉽게 할 수 있도록 해주는 도구들을 의미한다.
HTTP 메소드와 자원을 이용해 서로 간의 통신을 주고받는 방법이다.
해당 API를 호출하기 위한 HTTP 메소드, URL을 포함한다.
RESTful 하게 API를 설계하는데에는 여러 규칙이 존재한다.
너무 타이트하게 RESTful 한 설계를 따르려고 하지 않아도 된다!
N : M 관계에서는 비즈니스 로직상 더 중요한 대상을 계층 관계에서 앞에 두는 것이 좋다.
아래 키워드를 사용하여 API 설계를 하게 되는데 하나하나 어떻게 사용하는지 알아보겠다.
아까 살펴 본 RESTful 설계 규칙에서 단건 조회일때는 식별 값을 추가로 사용한다고 했는데, 이 경우에 path variable을 사용한다.
🔑 GET /users/articles/{articleId}
단어 구분을 하이픈을 사용한다고 했으나, 타이트하게 규칙을 따르지 않아도 되므로 둘 다 상관없다.
보통 검색 조회 때 사용이 된다. (GET 요청)
🔑 GET /users/articles?name=umc&owner=Jea
쿼리 스트링은 API 엔드 포인트에 포함이 되지 않는다.
url에 특정 정보를 노출하는 것이 위험할 수 있기 때문에, url에 노출 되지 않고 request body에 데이터를 담아 json 혹은 form-data 형태로 보낼 수 있다.
json의 경우 아래와 같은 형태로 클라이언트에서 서버로 전송하게 된다.
{
“name” : “임지민”,
“phoneNum” : “010-1111-2222”,
"nickName" : "Jea"
}
메타데이터 즉, 전송에 관련된 기타 정보들이 담기는 부분으로
대표적으로 토큰을 담는 용도로 사용한다.