W moim interfejsie API RESTful wszystkie zasoby rozszerzają bazę Spring ResourceSupport, aby zapewnić zgodność z zasadami hateoas według projektu. Na przykład:Zasoby Swagger i RESTful spring hateoas
public class PoolResource extends ResourceSupport {
private String name;
...
}
Używam również Swagger, i zastanawiałem się: czy jest to możliwe do skonfigurowania Swagger-ui jakoś ignorować właściwości pochodzących z ResourceSupport?
(Swagger-ui zapewnia miły i łatwy frontend API. Jako jeden z głównych zalet korzystania Swagger, API jest łatwe do zrozumienia i bawić się z API dla tych, którzy są nawet nie zna się z REST API ... dopóki "linki" i "relacje" pojawiają się na zdjęciu.)
Jeśli nie chcesz hipermedii, dlaczego używasz Spring HATEOAS? Jeśli chcesz hipermedii, dlaczego używasz Swagger (który aktywnie podważa hipermedia)? –
Chcę hipermedia. Po zbadaniu zasad RESTful zrozumiałem korzyści płynące z posiadania hipermedii, więc naprawdę chciałem zaprojektować interfejs API [level 3] (http://martinfowler.com/articles/richardsonMaturityModel.html). To jest powód używania Spring HATEOAS. Jednak większość użytkowników API wciąż nie zna hipermedii i nie rozumie, dlaczego jest w ogóle dobra. Dla nich swagger zapewnia bardzo fajny widok pełnego interfejsu API. Bardzo dobrze jest ją komukolwiek zaprezentować i łatwo ją zrozumieć, nawet od mojej babci po starszego programistę. Co masz na myśli, że Swagger "podważa hipermedia"? – istibekesi
Większość odpowiedzi sugeruje, żebym nie używał chowańca, [chwała REST] (http://martinfowler.com/articles/richardsonMaturityModel.html) rozwiąże większość moich pytań. Okej, więc wyobraźmy sobie, rzucaję się chwiejnie. To prowadzi mnie do takich pytań niż: - Mam zasób 'Pool'. Co się stanie, jeśli mam nowo zainstalowany system, bez istniejącej instancji puli, więc nie mogę pobrać puli. Jak utworzyć (POST) pulę niż? Jak wygląda basen? - A co z polami opcjonalnymi? Walidacje? Wymagane ... itp.? - A co z dokumentacją "offline"? – istibekesi