Korzystam z modułu Usługi w Drupal 7. Chcę wdrożyć usługę, która pozwala mi przesłać wyszukiwane hasło przez AJAX i otrzymać tablicę zawierającą 5 najlepszych węzłów (węzeł id
i title
), które luźno pasują do tytułu. Podczas łączenia się z http://example.com/api/ otrzymuję tę wiadomość
Usługi „wyszukiwanie” punktu końcowego usług zostało pomyślnie skonfigurowane.
ale gdy próbuję przejść do czegoś takiego jak http://example.com/api/search/Test , dostaję 404.
Odpowiedzi:
Później spróbuj i spróbuj, kiedy czytam z innego samouczka, tworzę zasób z resztą, mydło jest dla mnie niemożliwe w Drupal, próbuję, ale bez powodzenia, możesz skopiować i stronę tego kodu i zmodyfikować tylko niestandardową nazwę modułu i haki.
spróbuj ponownie na ścieżce usługi i odnieś sukces z http: //path.come/? q = webservice_server_rest / webservice_resources / string.json
źródło
Jeśli utworzyłeś RESTful Resource za pomocą modułu Services, to sądzę, że będzie oczekiwać odpowiedzi na żądania HTTP w formacie JSON, dlatego możesz spróbować przejść do
http://example.com/api/search/Test.json
źródło
Spróbuj użyć tego modułu https://www.drupal.org/project/services_views . Obecnie ma dwie funkcje: - Tworzenie usług tworzenia zasobów opartych na widoku Wyświetlanie w widoku - Wykonywanie dowolnego widoku systemu za pomocą wywołania zasobów widoku
źródło
w zasadzie 404 nie znaleziono błędu
Upewnij się, że punktem końcowym usługi jest
http://example.com/api/search/ {search-term}
treść odpowiedzi, która ma zostać wysłana, ma prawidłowy format
3. nagłówki zawartości są ustawione na application / json i nazwa Content-Type
źródło
Cześć Pierwszą rzeczą, którą musisz zrobić, to
KROK 1: utwórz niestandardowy moduł i zaimplementuj
hook_services_resources()
PRZYKŁAD:
KROK 2: przejdź do
i włącz swój moduł
KROK 3: wysyłanie danych do klienta $ dane - dane wysyłane do klienta powinny być tablicą
wydrukuj odpowiedź, aby sprawdzić, czy działa poprawnie.
SPRAWDŹ LISTĘ:
źródło
Ten błąd również występował, a potem zdałem sobie sprawę, że muszę podać zarówno ścieżkę punktu końcowego mojej usługi, jak i ścieżkę mojego widoku do adresu URL.
Początkowo próbowałem http: //my.local/events, ale musiałem używać http: //my.local/events/events (nazwa mojego punktu końcowego usługi była taka sama jak mój widok).
źródło