php-json-api icon indicating copy to clipboard operation
php-json-api copied to clipboard

Id Field Aliasing

Open samizdam opened this issue 6 years ago • 0 comments

I have domain model with uuid field and want use it as id value for API mapping.

I put uuid to getIdProperties, it is work fine for set id and links values in json. But I see uuid in attributes:

Failed asserting that '{"data":{"type":"some_model","id":"foo-bar","attributes":{"name":"foo","uuid":"foo-bar"},"links":{"self":{"href":"/api/v1/some-models/foo-bar"}}},"links":{"self":{"href":"/api/v1/some-models/foo-bar"}},"jsonapi":{"version":"1.0"}}' matches JSON string "{
    "data": {
        "type": "some_model",
        "id": "foo-bar",
        "attributes": {
            "name": "foo"
        },
        "links": {
            "self": {
                "href": "/api/v1/some-models/foo-bar"        
            }
        }
    },
    "links": {
        "self": {
            "href": "/api/v1/some-models/foo-bar"        
        }
    },
    "jsonapi": {
        "version": "1.0"
    }
}".
--- Expected
+++ Actual
@@ @@
         "type": "some_model",
         "id": "foo-bar",
         "attributes": {
-            "name": "foo"
+            "name": "foo",
+            "uuid": "foo-bar"
         },
         "links": {
             "self": {

I try hide this property and use aliases, but I could not succeed with my case. I create repo with example: https://github.com/samizdam/jsonapi-example/blob/master/tests/Samizdam/JsonApiExampleTest/ModelWithUuidMappingTest.php

samizdam avatar Jun 29 '19 17:06 samizdam