Quantcast
Channel: Active questions tagged symfony4 - Stack Overflow
Viewing all articles
Browse latest Browse all 3925

How can I use API Platform filters in YAML?

$
0
0

First of all, I want to inform you that I already read the docs about the problem I'm having today, and I also made a search on StackOverflow and Google, but didn't find a proper solution.

I am building a Customer Relationship Management API for practice sake with Symfony 4 and API Platform. I already learned a lot about API Platform, and even though I could have used annotations for resources configuration, I forced myself to use YAML in order to learn more about it.

So, I have a Customer resource which has several attributes: id, firstname, lastname, emailAddress, company, createdAt, updatedAt, and owner. My goal is to add a SearchFilter on this resource (in YAML) and add most of the attributes as properties of this filter.

I already tried the solution given here: https://github.com/api-platform/core/issues/1755. The problem is that I can't manage to make it work. In services.yaml, I see that you can add arguments, but I don't know what equivalent you can find in annotations...

In config/services.yaml:

# filters    app.my_filter:        parent: 'api_platform.doctrine.orm.search_filter'        tags: ['api_platform.filter']        autowire: false        autoconfigure: false        public: false

In resources/customer.yaml:

App\Entity\Customer:    collectionOperations:        get:            normalization_context:                groups: ['Customer:Get']            filters: ['app.my_filter']

What I intend to is something similar to this with annotations in src/Entity/Customer.php:

/** * @ApiResource * * [...] * * @ApiFilter(SearchFilter::class, properties={ *     "firstname": "partial", *     "lastname": "partial", *     "emailAddress": "partial", *     "company": "partial" * }) */class Customer{...}

I hope that you'll be able to help and that my problem is clearly explained. If not, please tell me and I'll do my best to give your more details.


Viewing all articles
Browse latest Browse all 3925

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>