REST API może mieć argumenty w kilku miejscach:
- W treści żądania - jako część treści json lub innego typu MIME
- W ciągu zapytania - np
/api/resource?p1=v1&p2=v2
- W ramach ścieżki URL - np
/api/resource/v1/v2
Jakie są najlepsze praktyki i kwestie do rozważenia przy wyborze między 1 a 2 powyżej?
2 na 3 jest tutaj omówione .
Odpowiedzi:
Zwykle treść treści jest używana dla danych, które mają być przesłane / pobrane na / z serwera, a parametry zapytania są używane do określenia dokładnych żądanych danych. Na przykład, kiedy przesyłasz plik, określasz nazwę, typ MIME itp. W treści, ale podczas pobierania listy plików możesz użyć parametrów zapytania, aby przefiltrować listę według jakiejś właściwości plików. Ogólnie parametry zapytania są właściwością zapytania, a nie danymi.
Oczywiście nie jest to ścisła zasada - możesz ją wdrożyć w dowolny sposób, który Ci odpowiada.
Możesz również zapoznać się z artykułem w Wikipedii o ciągu zapytania , zwłaszcza z dwoma pierwszymi akapitami.
źródło
Zakładam, że mówisz o żądaniach POST / PUT. Pod względem semantycznym treść żądania powinna zawierać dane, które publikujesz lub poprawiasz.
Ciąg zapytania, jako część adresu URL (URI), służy do identyfikacji zasobu, który publikujesz lub aktualizujesz.
Poprosiłeś o najlepsze praktyki, przestrzeganie semantyki jest moje. Oczywiście używanie praktycznych reguł powinno działać, szczególnie jeśli framework sieciowy, którego używasz, jest abstrakcyjny w parametrach .
Wiesz najbardziej:
źródło
Oto moje praktyczne zasady ...
Kiedy używać ciała:
Kiedy używać ciągu zapytania:
curl
application/octet-stream
Zauważ, że możesz mieszać i dopasowywać - umieść te typowe, te, które powinny być debugowalne w ciągu zapytania, a całą resztę wrzuć do json.
źródło