Страница 1 из 1

Помочь разобраться с ресурсами

Добавлено: 2018.06.15, 10:20
kirillgolodaev
Привет, прошу помочь разобраться.

Есть две модели "User" и "UserProfile"

1 ресурс: /users/{id}
2 ресурс: /users/{id}/profile

В ресурсе "POST /users" создаем "User", корректно ли в данном ресурсе создавать "UserProfile" и делать какою либо логику с "UserProfile"?
Не должно получиться так, что у пользователя например "1" нет записи в "UserProfile".

И ещё, вот например есть "User", "Post", "Comment"

Получить все комментарии к посту: "GET /posts/{id}/comments"
А что если потребовалось получить все сделанные комментарии пользователя, то надо делать так: "GET /users/{id}/comments"?
Не проще сделать "GET /comments?post=id&user=id"?

Или реальный пример:
PortfolioModel: "id, account_id, salon_id, service_id, name"

Есть салон и услуги, обе могут иметь портфолио. Мне нужно создать портфолио там и там, мне что, добавлять ресурсы?
1. POST /salons/{id}/portfolio
2. POST /service/{id}/portfolio
Или
POST /portfolio?service_id=id&salon_id=id

Re: Помочь разобраться с ресурсами

Добавлено: 2018.06.24, 13:51
skynin
kirillgolodaev писал(а): 2018.06.15, 10:20
Не проще сделать "GET /comments?post=id&user=id"?
как-то сложно у вас.
проще это
GET /?r=comments&post=id&user=id

А если серьезно, то читайте книги по архитектуре веб приложений.
Там объясняется почему правильней НЕ всегда выглядит как проще, а часто наоборот - сложней.
Почему сложные проекты - требуют сложных инструментов. И почему сложные проекты - не получится реализовать "просто"

и статьи типа Именование сложных действий в REST API
Руководство по REST

Потому что если только и надо что вывести "Hello word", то проще написать в index.php

Код: Выделить всё

<h1>Hello world!</h1>
и обойтись не только без фрейморков, а вообще без php

Re: Помочь разобраться с ресурсами

Добавлено: 2018.06.25, 15:58
ElisDN
Проще всего сделать RPC-метод getCommentsByUser($userId) вместо возни с ресурсами. Но это уже другая история.