2016-09-25 2 views
0

OK의 ID를 반환해야합니다, 우리는 두 엔터티가 있다고 가정 할 수 있습니다 : 프로필, 이름과 ~ 10 개 무관 필드 및 idtext 구성된 포스트, title을 구성, 그리고 그건 author (프로필). 또한 다른 프로필의 게시물이 포함 된 피드를 반환하는 /feed 리소스가 있습니다.내가 관련 단체 또는 전체 기업

어떤 방법으로 (별도 프로필을 요청하는 방법이있다)

  • 보내기 저자의 ID 저자에 전체 프로필 엔티티를 보내기 :

    그래서 나는 두 가지 옵션이 있습니다 (프런트 엔드에서 사용하는 측면에서) 더 빠르고 (보다 편리하다면 RESTy).

  • 답변

    1

    idProfile으로 보내는 것만으로 응답 시간이 더 짧기 때문에 더 빠릅니다.

    그러나 중요한 질문은 각각 Post 인 전체 Profile 개체가 필요합니까? 예를 들어, 각 Post에 대한 작성자 이름을 출력하려면 전체 개체를 보내는 것이 더 합리적입니다. 하지만 각자 Post (프런트 엔드에 있음)으로 작성자에게 링크를 제공하려면 id으로 충분해야합니다.

    Post에 대한 질문을하는 다른 서비스의 경우 id을 보내고 필요할 경우 두 번째 전화를 겁니다. 필요할 경우 언제든지 데이터를 캐시 할 수 있습니다.

    각 호출/끝점이 응답의 의미를 확인하는 데 필요한 최소 금액 을 반환하도록 서비스를 구축하십시오. 이는 Post에 이름이 포함되어 있지만 다른 모든 "관련없는"필드는 제외 된 경사가 Profile 인 객체를 포함 할 수 있습니다. 그러나 Profile을 직접 쿼리하면 전체 개체가 생성됩니다.

    호출자가 id 또는 Profile만을 원하는지 지정할 수있는 선택적 쿼리 매개 변수가있을 수도 있습니다. Atlassian JIRA은 대역폭을 보존하고 속도를 향상시키는 데 사용하는 전략입니다.

    또한 hal+json 사양을 확인하면 더 유용하고 투명한 REST 서비스를 설계하는 방법에 대한 좋은 아이디어를 얻을 수 있습니다.

    가장 중요! 엔드 포인트는 외부 세계에서 실제로 사용할 수있는 데이터 만 리턴해야합니다. 따라서 Profile에 백엔드에서만 사용되는 값 (예 : 사용자 비밀번호)이있는 필드/필드가있는 경우 절대 누설해서는 안됩니다.