Mam RESTful API w serwisie internetowym z pewnymi zasobami, takimi jak użytkownicy, posty i tak dalej. Kiedy składam prośbę o listę wpisów (GET/posty), chcę pobrać tablicę postów tylko ze zmniejszoną częścią danych dla każdego posta (tj. Temat, nazwisko autora). Kiedy składam prośbę o konkretny post (GET/posts/42), chcę odzyskać pełną listę pól obiektu pocztowego, w tym dużą treść postu, dodatkowe informacje o liczbie polubień, liczbie komentarzy. Przypuszczam, że istnieje wiele sposobów rozwiązania tego problemu. W moim umyśle, 3 najbardziej oczywiste to:?Sposób określania listy pól zasobów w RESTful żądanie API
- Jednoznaczne określenie pól lits na każde żądanie (/ posty fileds = zastrzeżeniem, author_name i /postów/42 pól = zastrzeżeniem, ciało, createaAt, author_name, comments_count, likes_count, etc ...).
- Jawnie określa listę pól, tylko jeśli różni się od domyślnej listy pól .
- Podaj listę pól, które powinny zostać wykluczone (lub inlcuded) z (do) pól domyślnych, jeśli zestaw żądanych pól różni się od domyślnego.
I co zbudować jasne i przydatne API dla moich klientów. Której powinienem wybrać?
Zgadzam się. Zapewnia niską barierę dostępu, dzięki czemu programiści mogą eksplorować i łatwo zobaczyć pola domyślne, ale wciąż daje elastyczność, aby poprosić o dokładnie to, co chcesz, jeśli trzeba. – theon
Zrobię również opcję (2), ale pozwolę, aby 'fields = *' zawierało wszystkie pola, tak że łatwe jest sprawdzenie kompletnego zestawu (szczególnie dla programisty, który chce się dowiedzieć lub dokładnie sprawdzić, co to jest). –