REST API erweitern - scheitere an private function

Moin :slight_smile:

Wir müssen die REST API erweitern bzw. ein Bugfix machen (der Endpoint “update” der Kategorie setzt die Album-ID eines übergebenen Kategriebildes hart auf -1 [also Artikel]) und das mittels Plugin (bis dato habe ich das tatsächlich hart im Code gemacht … ist natürlich nicht updatesicher).

Also dachte ich mir, ich überschreibe die entsprechende Methode im Plugin einfach … aber Pustekuchen: die Methoden wurden sinnigerweise nicht als protected deklariert, sondern als private :frowning:

Welche Möglichkeiten habe ich? Hat jemand einen Tipp?

Hallo,

was spricht dagegen einfach ein eigenes Api Plugin zu bauen, hier das Beispiel ist echt gut gemacht:

https://developers.shopware.com/developers-guide/rest-api/plugin-api-extension/

dann extendest du das vom Core was du brauchst, und veränderst in deinem Plugin was du gerne anders hättest ich würde dann auch
eine eigene Routen Annotation benutzen z.B. /api/category/updateCUSTOM

oder lässt die Software, welche die Route aufruft nicht in ihrem Aufruf veränderbar ?

Grüße Lukaschel

Ein eigener Endpoint wäre mit Kanonen auch Spatzen geschossen :slight_smile:

Ich habe jetzt tatsächlich ein Plugin geschrieben, das mir diverse Stellen in der API fixt. Funktioniert hat es dann, als ich neben der eigentlich zu fixenden, allerdings eben als private deklarierten Methode, die dazugehörende public und noch eine weitere, ebenfalls als private deklarierte Methode, die in der public aber aufgerufen wird, mit in das Plugin reingenommen habe.

Der eigene Endpoint würde ohnenin auch an den private Deklarationen scheitern - ich kann ja nicht ableiten.