Служба с кодом Apigility для двух таблиц / сущностей

У меня были проблемы с поиском каких-либо современных руководств по Apigility - и ничего, когда речь шла о написании службы, связанной с кодом, для нескольких таблиц.

Скажем, у меня есть две таблицы, одна для управления категориями блога, другая для управления записями блога...

Category Table
+------------------+---------+
| CategoryID       | int     |
| CategoryName     | varchar |
| Tags             | varchar |
+------------------+---------+

Blog Table
+------------------+---------+
| BlogID           | int     |
| CategoryID       | int     |
| Title            | varchar |
| BlogText         | text    |
+------------------+---------+

Теперь я бы хотел создать службу отдыха вот так...

/blog/:id

Который должен вернуть сущность, как так...

BlogID
Title
BlogText
CategoryID
CategoryName
Tags

Может кто-нибудь предоставить мне пример кода, пример, учебник, что-то актуальное, что я могу использовать со стандартной Apigility (не используя Doctrine и т. Д.).

При использовании Apigility он создает 4 класса-заглушки - как их можно заполнить, чтобы он просто работал?

Спасибо

1 ответ

Решение

Вам нужно создать связанный с кодом ресурс (сервис API) и самостоятельно заполнить класс Resource для обработки GET, POST, DELETEи т. д., себя.

Два лучших совета, которые я могу дать по задачам, связанным с ZF2:

  • Использовать отладчик
  • Прочитайте исходный код, прочитайте тесты

Копаясь с исходным кодом Apigility, я узнал, что ресурс DB-Connected на самом деле является предварительно сконфигурированным ресурсом Code-Connected. Вот пример ресурса Code-Connected, с которого вы можете начать: https://github.com/zfcampus/zf-apigility/blob/master/src/DbConnectedResource.php

Вам нужно только расширить его для работы с несколькими таблицами.

Другие вопросы по тегам