JMS Serializer membatalkan serialisasi objek bersarang

Saya menggunakan: https://jmsyst.com/libs/serializer

Untuk deserialisasi objek json. Saat ini saya punya ini:

/**
 * @param int $id
 * @return Customer
 * @throws \Http\Client\Exception
 */
public function get(int $id): Customer
{
    $response = $this->client->get('/customers/' . $id);

    $data = json_encode(json_decode(
        $response->getBody()->getContents()
    )->data->attributes);

    return $this
        ->serializer
        ->deserialize($data, Customer::class, 'json');
}

Json yang saya terima di sini terlihat seperti ini:

   {
    "data": {
            "type": "customer",
            "id": "4356456",
            "links": {
                    "self":"https:\/\/api.ecurring.com\/customers\/345656"
            },
            "attributes": {
                    "gender": "m",
            "first_name": "Laurens"
        }
    }

Apakah mungkin untuk memberi tahu JMS bahwa itu harus dimulai secara otomatis dari data->attributes alih-alih melakukan sesuatu yang kotor seperti ini:

 $data = json_encode(json_decode(
            $response->getBody()->getContents()
        )->data->attributes);

person Jamie    schedule 04.03.2019    source sumber


Jawaban (1)


Anda dapat memeriksa kebijakan pengecualian.

Baca dokumentasinya, sangat membantu.

Kebijakan pengecualian dan Anotasi

person thafirstone    schedule 05.03.2019