Projektuję interfejs API RESTful i napotkałem problem z tytułem, dla zachowania przejrzystości:
Czy powinienem szybko zawieść, jeśli klient wyśle nierozpoznany parametr? Na przykład,
http://example.com/api/foo?bar=true&paula=bean
Powyżej bar
jest poprawnym parametrem, ale paula
nie jest określony przez API. Czy powinienem
- Ostrzeż klienta o błędzie
- Szybko zawieść
- Zignoruj to
Jeśli ostrzeżę klienta, mogę wydać ostrzeżenie tylko dla pierwszego parametru, ponieważ może on wysyłać ich prawie nieskończoną liczbę, a serwer prawdopodobnie ma lepsze rzeczy do zrobienia. Podobnie w przypadku niepowodzenia określa tylko pierwszy nieprawidłowy parametr jako problem.
Wolę niepowodzenie niż ostrzeżenie, aby zmusić programistę do podjęcia działania, ponieważ w przeciwnym razie mogą zignorować problem i nadal marnować zasoby lub skończyć nieumyślnie kultywowaniem ładunków. W tym względzie nic gorszego nie robić.
Czy moje argumenty mają sens? Czy istnieje akceptowana praktyka w takich sprawach?
api/v1
itp., Ale nadal nie pozwala na aktualizacje przyrostowe. +1