REST - 스키마 없는 REST API
1962 단어 nosqltypescriptrestnode
당신이 맞을 수도 있습니다. API에 고정된 스키마/인터페이스가 없다는 것은 대부분 이상하게 들리고 API의 의도와 어떻게든 모순됩니다. API는 데이터가 어떻게 형성되어야 하는지를 정의하는 프로그래머 인터페이스를 제공하도록 설계되었습니다. 집을 살 때의 구매 계약처럼: 모든 것이 제자리에 있어야 하고, 따라야 할 규칙과 권리가 있으며, 계약을 보장하는 공증인이 있습니다. 계약서의 내용이 유효하지 않은 경우 거래가 서명되지 않습니다.
하지만 커피를 사는 것조차 이미 구매계약이다. 그리고 그들은 대부분 같은 규칙을 따릅니다. 바리스타가 커피를 제공하고 당신은 "무엇이든 그란라떼 초콜릿을 드릴까요?"라고 간단히 말함으로써 계약에 동의합니다. 돈과 "커피"의 교환이 완료되는 즉시 거래가 종료됩니다. 공증인도, 고정 계약도, 서명도 없습니다. 여전히 유효한 구매 계약입니다.
API도 마찬가지입니다. 때로는 기존 스키마 제한 API보다 더 간단하고 쉬운 계약이 필요한 경우가 있습니다. 특히 서버 측 렌더링의 경우 또는 단순히 앱을 긁고 UI 구축에 먼저 집중하려는 경우에 그렇습니다.
이것이 바로 noREST가 구축된 이유입니다.
npx @norest/cli
를 호출하기만 하면 매우 간단한 규칙(예: 커피 구매)을 따르는 REST 전체 서버를 얻을 수 있습니다. 이러한 규칙은 빠른 개발을 허용하도록 설계되었습니다. 핵심 규칙 중 하나는 스키마가 없다는 것입니다. 끝점은 특수 접두사가 있는 단순히 데이터 자체인 소위 index fragments
로 정의됩니다.POST /api
{
"name": "foo",
"price": 10,
"#_products": {}
}
위의 데이터가 API에 게시된 경우 인덱스 조각
GET /api/products
이 추가되기 때문에 데이터"#_products": {}
를 통해 데이터를 요청할 수 있습니다. 그렇게 하면 모든 데이터를 API에 저장하고 RESTful 방식으로 계속 사용할 수 있습니다. API만을 위한 noSQL과 같습니다. 간단히 noREST라고 합니다.대부분의 사람들이 모르는 사실: noSQL은 SQL만 의미하는 것이 아닙니다. 이는 단순히 데이터를 쿼리하는 것 이상을 허용한다는 의미입니다. noREST도 마찬가지입니다. 현재 기본적으로 인증, 메타데이터, 참조 및 WebSocket 지원이 있으며 더 많은 플러그인이 계획되어 있습니다.
아이디어가 마음에 든다면 https://notonly.rest의 작은 대화형 놀이터에서 실행 중인 모든 것을 볼 수 있습니다. noREST에 대해 더 자세히 알아보려면 시작하는 가장 좋은 방법은 GitHub page 입니다.
제 작은 사이드 프로젝트를 읽어주셔서 감사합니다. 이에 대한 귀하의 생각을 듣고 싶습니다.
Reference
이 문제에 관하여(REST - 스키마 없는 REST API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/janhommes/norest-schema-less-rest-api-5bi3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)