# API Resourcen als Service übergeben (services.xml)

**URL:** <https://forum.shopware.com/t/api-resourcen-als-service-ubergeben-services-xml/56941>\
**Category:** Programmierung\
**Created:** [7. Dezember 2018 um 10:48 UTC](https://forum.shopware.com/t/api-resourcen-als-service-ubergeben-services-xml/56941 "2018-12-07T10:48:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [7. Dezember 2018 um 10:48 UTC](https://forum.shopware.com/t/api-resourcen-als-service-ubergeben-services-xml/56941/1 "2018-12-07T10:48:53Z")

</div>

Hallo!

Ich benutze aktuell noch auf dem ursprünglichen Weg die lokalen API Resourcen, würde aber gerne für ein paar Projekte komplett mit Services arbeiten, und dementsprechend auch die API Resourcen definiert übergeben - ohne lokaler Instanziierung … das klappt bisher leider nicht.  
Sehe ich richtig, dass durch die _shared_ Anweisung hier es gar nicht vorgesehen ist, die API Resourcen als Service verwenden zu können?

Zu finden unter&nbsp;[https://github.com/shopware/shopware/blob/e24203eb02e8a3ead332b6ce3ff900449ef750ee/engine/Shopware/Components/DependencyInjection/services.xml#L611](https://github.com/shopware/shopware/blob/e24203eb02e8a3ead332b6ce3ff900449ef750ee/engine/Shopware/Components/DependencyInjection/services.xml#L611)

Wenn ich zum Beispiel die Artikel Resource übergebe und darauf eine getOne ausführe, knallt folgendes:

```
Fatal error: Uncaught Error: Call to a member function createQueryBuilder() on null in / .../engine/Shopware/Components/Api/Resource/Article.php:137 Stack trace: #0 / .../custom/plugins/FooPlugin/Services/FooService.php(60): Shopware\Components\Api\Resource\Article->getOne(1) #1 / .../var/cache/production_201710241020/proxies/ShopwareProduction3e2dbe9788b3fea2af3b58d75a69d13c12705d89ProjectContainer.php(3502): FooPlugin\Services\FooService->__construct(Object(Shopware\Components\Logger), Object(Shopware\Components\Api\Resource\Article)) #2 / .../vendor/symfony/dependency-injection/Container.php(304): ShopwareProduction3e2dbe9788b3fea2af3b58d75a69d13c12705d89ProjectContainer->getFooPlugin_Services_FooServiceService() #3 / .../engine/Shopware/Components/DependencyInjection/Container.php(217): Symfony\Component\ in / .../engine/Shopware/Components/Api/Resource/Article.php on line 137

```

Die Auszeichnung erfolgt:

Freue mich über Feedback!  
Niklas

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [7. Dezember 2018 um 11:15 UTC](https://forum.shopware.com/t/api-resourcen-als-service-ubergeben-services-xml/56941/2 "2018-12-07T11:15:44Z")

</div>

Die API Resource braucht den ModelManager. Den kriegt er zurzeit nicht selbst rein via DI. Dieser wird erst mit 5.6 automatisch gesetzt. BIs dahin musst du den selber setzen mit setManager

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [7. Dezember 2018 um 11:36 UTC](https://forum.shopware.com/t/api-resourcen-als-service-ubergeben-services-xml/56941/3 "2018-12-07T11:36:31Z")

</div>

Ah! Danke Dir! Klappt jetzt wunderbar, genial&nbsp; ![Wearing-Sunglasses](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/301eaa4db0af1251d93dae7904e5b71a4b15e729.png "Wearing-Sunglasses")
