Web Services unter Joomla 4

  • Hallo,


    hat schon jemand Erfahrungen mit den neuen Web Services in Joomla 4 gemacht? Wollte sie für eine eigene Komponente verwenden. Habe ein Plugin programmiert und einen Adapter geschrieben. Diesen Adapter habe ich dann in das Verzeichnis Api/Components/com_komponente kopiert. Leider bekomme ich mit curl nur ein Server 500 Error zurückgeliefert. Abfrage von z.B. content/article funktionieren aber. Hat vielleicht jemand ein funktionierendes Beispiel?


    Gibt es einen Installationsweg für den Adapter? Weil ins Api Verzeichnis zu kopieren finde ich persönlich nicht so toll. Ein Installationsprozess wie bei Componente oder Plugin finde ich besser.


    Wird es für die Zukunft so bleiben, dass nur ein Superuser die Webservice benutzen kann? Also irgendwo ein Superuser-Kennwort zu verwenden z.B. einer App ist ja eigentlich auch nicht das gelbe vom Ei.


    Gruß Kai

  • Morgen,


    interessantes Thema wo ich mich mal dran häng.


    Kann zwar bzgl. Webservices oder J4 leider noch nichts beitragen, aber meine letzte Komponente hatte mit einem cURL aufruf auch ständig einen 500er Fehler, wobei jedoch der Aufruf tadellos funktioniert hat. Eine Lösung habe ich noch nicht, ein nachträgliches Error-Handling durch den zurückkommenden 500er aber auch nicht.


  • Warum findest du das Verzeichnis Api "nicht toll"? So wie ich das sehe ist das gewollt.


    Bezüglich der notwendigen Anmeldung ist das interessant. https://github.com/joomla/joomla-cms/issues/29196

  • Hallo christine2, Hallo astrid,


    danke für euren Hinweis. astrid ich habe mir jetzt mal deine Foo Komponente installiert und der Web Service Abruf funktioniert. Ich vermute, es liegt daran, dass du einen Content-Type über das Installationsscript hinzugefügt hast. Werde dies bei meiner Komponente auch noch einmal testen und dann Rückmeldung geben.


    Ist der Content-Type für den Web Service zwingend nötig?


    Ich habe nichts gegen das Api-Verzeichnis. Ich fand es nur blöd es per Hand dort reinzukopieren, aber nachdem ich mir deine Komponente angeschaut habe, weis ich, dass es den <api> Tag in der Extension Datei gibt und nun werden die Dateien automatisch dorthin kopiert.


    Gruß