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

Всё что касается построения API
Ответить
kirillgolodaev
Сообщения: 28
Зарегистрирован: 2016.05.10, 06:27

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

Сообщение 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
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

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

Сообщение 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
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN »

Проще всего сделать RPC-метод getCommentsByUser($userId) вместо возни с ресурсами. Но это уже другая история.
Ответить