Это демонстрационное приложение, реализующее простой REST API управления данными геообъектов.
GET /api/vv1
GET /api/vv1/{id}
POST /api/vv1
PATCH /api/vv1/{id}
DELETE /api/vv1/{id}
Свойства геообъекта (все обязательные):
- name string:64
- description string:256
- type string {field | bed | mts}
- geometry string, WKT Polygon
Для метода DELETE можно использовать дополнительный параметр
- archive true
в этом случае геообъект будет не удалён, а "архивирован" (soft deleted)
-
composer install
-
Скопировать .env.example -> .env
Прописать данные сервера БД
php artisan key:generate -
Заполнить БД
php artisan migrate --seed
Коллекция для Postman
https://github.com/vvnazarov/geo/blob/master/tests/geo.postman_collection.json
Получил обратную связь о том, что хорошо бы вынести логику из контроллера на Service Layer.
На самом деле, с учётом того, что это - микросервисзадача, вариант не бесспорный.
Хорошо: контроллер стал совсем тонкий
Плохо: добавилась новая сущность, не являющаяся необходимой для конкретной задачи.
На мой вкус, плюс немного весомее минуса, поэтому этот релиз появился.