Laminas Hal-json | Fórum | School of Net

Deseja poder participar de nosso fórum e tirar todas as suas dúvidas?
Clique aqui e assine nosso plano de acesso ilimitado. Saiba mais.

por Natália

1 mês, 3 semanas atrás Natália

Laminas Hal-json

Bom dia. Laminas api/ Doctrine Uma questão com api-tools-hal. Tenho e entidades User e Email em um relacionamento de ManyToOne Aqui as entidades: [https://github.com/nataliassa/LAMINAS/tree/master/module/Users/src/V1/Entity](https://github.com/nataliassa/LAMINAS/tree/master/module/Users/src/V1/Entity) quando chamo : http://127.0.0.1:8080/user recebo: ``` { "_links": { "self": { "href": "http://127.0.0.1:8080/user?page=1" }, "first": { "href": "http://127.0.0.1:8080/user" }, "last": { "href": "http://127.0.0.1:8080/user?page=1" } }, "_embedded": { "user": [ { "id": 4, "username": "Natalia", "emails": {}, "_links": { "self": { "href": "http://127.0.0.1:8080/user/4" } } } ] }, "page_count": 1, "page_size": 25, "total_items": 1, "page": 1 } ``` Obeservem o Email {} vazio; Qundo chamo; http://127.0.0.1:8080/user/4/email ``` { "_links": { "self": { "href": "http://127.0.0.1:8080/user/4/email?page=1" }, "first": { "href": "http://127.0.0.1:8080/user/4/email" }, "last": { "href": "http://127.0.0.1:8080/user/4/email?page=1" } }, "_embedded": { "emails": [ { "emailId": 2, "email": "[email protected]", "_embedded": { "userId": { "_links": { "self": { "href": "http://127.0.0.1:8080/user/4" } } } }, "_links": { "self": { "href": "http://127.0.0.1:8080/user/4/email" } } } ] }, "page_count": 1, "page_size": 25, "total_items": 1, "page": 1 } ``` OU dependendo da 'max_depth' => 1, [https://github.com/nataliassa/LAMINAS/blob/master/module/Users/config/module.config.php#L146](https://github.com/nataliassa/LAMINAS/blob/master/module/Users/config/module.config.php#L146) : ``` { "_links": { "self": { "href": "http://127.0.0.1:8080/user/4/email?page=1" }, "first": { "href": "http://127.0.0.1:8080/user/4/email" }, "last": { "href": "http://127.0.0.1:8080/user/4/email?page=1" } }, "_embedded": { "emails": [ { "emailId": 2, "email": "[email protected]", "_embedded": { "userId": { "id": 4, "username": "Natalia", "emails": {}, "_links": { "self": { "href": "http://127.0.0.1:8080/user/4" } } } }, "_links": { "self": { "href": "http://127.0.0.1:8080/user/4/email" } } } ] }, "page_count": 1, "page_size": 25, "total_items": 1, "page": 1 } ``` Reparem que em email ele trás as referencias de relacionamento entre as entidades e no User, não acontece. Na tentativa de resolver essa questão instalei o pacote `` laminas-api-tools/api-tools-hal`` ref: [https://github.com/laminas-api-tools/api-tools-hal] (https://github.com/laminas-api-tools/api-tools-hal) Não sei se é o caminho certo, se for preciso de ajuda para entender melhor. Funciona para adicionar links, no response, : [https://github.com/nataliassa/LAMINAS/blob/master/module/Users/Module.php#L37](https://github.com/nataliassa/LAMINAS/blob/master/module/Users/Module.php#L37) mas o que preciso é que as entidades adicionem os relacionamentos respeitando o max_depth setado no module.config. A aplicação está disponível no github [https://github.com/nataliassa/LAMINAS](https://github.com/nataliassa/LAMINAS) está com todos os arquivos *.local e um database sqlite para simplificar se quiserem baixar e testar. Fico grata

5 Respostas