>

사용자 지정 UI를 만들려는 Azure AD B2C에서 API 프로젝트를 만들고 있습니다. 이 요구 사항에 대해 "Rest"API 및 "Graph"API 모두에서 어느 것이 더 나은지 알고 싶습니다.

누군가가 나에게 제안 할 수 있습니까?


  • 답변 # 1

    GraphQL은 종종 REST를 대체하는 것으로 언급되지만 실제로는 서로 다른 문제를 해결합니다.

    REST는 시작하는 프로토콜이 아니라 스타일 일뿐입니다. 올바르게 적용하면 서버에서 클라이언트를 분리하기 만합니다. 따라서 REST 프린시 펄을 따르는 서버는 클라이언트에게 추가 단계를 수행하는 데 필요한 정보를 제공합니다. 클라이언트는 사전에 사전 지식없이 시작하여 요청을 발행하고 응답을 처리하여 즉시 학습합니다.

    REST는 프로토콜에 구애받지 않는 반면, 많은 프로토콜 위에 구축 될 수 있지만 HTTP가 가장 두드러 질 수 있습니다. RESTful 클라이언트의 일반적인 샘플은 우리 모두에게 친숙한 웹 브라우저입니다. 북마크 된 URI를 호출하거나 주소 표시 줄에 입력 한 URI를 호출하여 시작합니다.

    HTTP는 요청 또는 응답을 보내야하는 표현을 지정하지 않지만이를 협상하는 클라이언트 및 서버에 남겨 둡니다. 클라이언트와 서버 모두 공통 인터페이스 (HTTP)에 의존하고 데이터를 교환하는 데 사용되는 알려진 미디어 유형에만 강력하게 바인딩 할 수 있으므로 디커플링에 도움이됩니다. 피어는 특정 표현으로 문서를 처리 할 수 ​​없습니다 ( 각각의 MIME 유형 지원이 없음)은 다른 오류 메시지를 통해 다른 피어를 나타냅니다. 구문과 데이터 페이로드의 의미에 대한 사람이 읽을 수있는 문서 일 뿐인 미디어 유형은 REST 아키텍처에서 가장 중요한 부분입니다. 수신 된 페이로드를 구문 분석하고 해석하는 방법과 실제로 이해하는 방법을 동료에게 가르쳐줍니다. 그러나 많은 사람들이 여전히 JSON 기반 HTTP API의 REST를 과도하게 엔지니어링 된 URI와 혼동하여 URI에 약간의 노력을 기울였습니다. 실제로 클라이언트 나 서버가 URI에 대해 주어진 링크 관계 이름을 사용하기 때문에 클라이언트 나 서버가 해석하지 않을 때의 논리적 의미가 있습니다.

    반면에 GraphQL은 클라이언트가 서버에서 검색하려는 특정 필드 및 요소를 요청할 수있는 쿼리 언어입니다. 느슨하게 말하면, 웹에 대한 일종의 SQL입니다. 따라서 클라이언트를 서버에 연결하는 데 사용 가능한 데이터를 미리 알고 있어야합니다. 서버가 일부 필드의 이름을 바꾸면 GraphQL 전문가가 아니지만 클라이언트가 해당 종류의 정보를 더 이상 검색하지 못할 수 있습니다.

    위에서 언급했듯이 REST는 직접 매핑 된 DB 항목/엔터티에 대한 쿼리를 수행 할 수있는 JSON 기반 HTTP API에 대해 종종 혼동됩니다. REST는 웹 노출 데이터베이스 항목의 검색 측면이 아닌 피어의 분리에 초점을 맞추고 있지만 REST를 금지하지는 않습니다.

  • 답변 # 2

    Azure AD 및 API의 맥락에서 REST API라는 용어는 Microsoft Graph 서비스에 직접 액세스 할 때 사용됩니다. 모든 http 통신 코드, 인증, JSON 파싱 등을 작성합니다.

    Graph API 또는 Graph client라는 용어는 위의 내용을 요약 한 Microsoft에서 개발 한 Graph Client SDK를 나타냅니다.

    플랫폼 용 SDK가없는 경우 REST API를 직접 사용해야합니다. 그렇지 않으면 SDK를 사용하는 것이 좋습니다.

관련 자료

  • 이전 javascript - 10 월 cms - 프런트 엔드 양식을 사용하여 png 이미지를 저장하려면 어떻게해야합니까?
  • 다음 c - 장소에 문자를 입력해도 루프가 멈추지 않습니다