Size: a a a

2020 November 30

ЕР

Евгений Ромашкан... in PHP
Для меня это повод не упоминать этот термин лишний раз в 2к20
источник

AM

Artem Molotov in PHP
Alexander Nazarov
Ну я об это и говорю, что речь не про ресурсы как таковые. А речь про операции над группой ресурсов. Вопрос даже не в том как их сделать, понятно что можно в урл засунуть перечень ID, или в тело запроса.

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

Если не нужно поддерживать групповую операцию как одну транзакцию (либо все либо ни одной). То нету же смысла делать такие групповые операции?
Насколько я понял, тут все согласны, что группу ресурсов выделять в отдельный ресурс с условно "сгенерированным" идентификатором — нормально.
источник

AN

Alexander Nazarov in PHP
Artem Molotov
Насколько я понял, тут все согласны, что группу ресурсов выделять в отдельный ресурс с условно "сгенерированным" идентификатором — нормально.
Ну вот зачем так делать, если есть операция над одним ресурсом?
источник

AM

Artem Molotov in PHP
Alexander Nazarov
Ну вот зачем так делать, если есть операция над одним ресурсом?
Зачем — другой вопрос. Мы тут вроде обсуждали нормально ли это относительно подхода в принципе.
источник

AN

Alexander Nazarov in PHP
Я понимаю, если нужно поддержать транзакциозность этой операции. Типа либо выполнить действие со всей коллекцией, либо ни с одним из эллементов из коллекции.
источник

k

knopkod4v in PHP
Alexander Nazarov
Ну вот зачем так делать, если есть операция над одним ресурсом?
а транзакция по удалению ресурса может зафейлиться?
источник

AN

Alexander Nazarov in PHP
knopkod4v
а транзакция по удалению ресурса может зафейлиться?
Вполне, розетку выдернут.
источник

k

knopkod4v in PHP
Alexander Nazarov
Вполне, розетку выдернут.
в смысле по нетехническим причинам
источник

AN

Alexander Nazarov in PHP
knopkod4v
в смысле по нетехническим причинам
маловероятно, но все же может быть. К примеру, если на удаление передали 10 записей, и 3 из них удалить нельзя, из за нехватки прав у пользователя.
источник

VM

Volodymyr Melko in PHP
knopkod4v
в смысле по нетехническим причинам
да, один заказ условно можно отменить, а второй нет (уже оплачен и доставлен)
источник

AN

Alexander Nazarov in PHP
Ну тут речь, просто такая, что:
- Нам нужен ендопинт для массвого удаления.
- Он вам не нужен, удаляйте асинхронно по одному.
- Ты дурак!? Он нам нужен.
Вот я и решил узнать дурак ли я!?)
источник

VM

Volodymyr Melko in PHP
Alexander Nazarov
Ну тут речь, просто такая, что:
- Нам нужен ендопинт для массвого удаления.
- Он вам не нужен, удаляйте асинхронно по одному.
- Ты дурак!? Он нам нужен.
Вот я и решил узнать дурак ли я!?)
батчи обычно находятся "вне" рест апи как раз потому, что непонятно что делать в случае частичного фейла
источник

AN

Alexander Nazarov in PHP
Ну вернее я и так знаю что дурак))
источник

ЕР

Евгений Ромашкан... in PHP
Alexander Nazarov
Ну тут речь, просто такая, что:
- Нам нужен ендопинт для массвого удаления.
- Он вам не нужен, удаляйте асинхронно по одному.
- Ты дурак!? Он нам нужен.
Вот я и решил узнать дурак ли я!?)
Ну так договариваться надо)
Нет тут единого "правильного" пути
источник

AN

Alexander Nazarov in PHP
Volodymyr Melko
батчи обычно находятся "вне" рест апи как раз потому, что непонятно что делать в случае частичного фейла
Ну вот я про это же.
источник

VM

Volodymyr Melko in PHP
имхо, можно дать клиенту батч и в респонс всегда выплевывать
202 Accepted

а под капотом просто кинуть в очередь N тасок на удаление.

ну и статус каждого айтема пусть проверяют отдельно, если им надо =)
источник

VC

Vladimir Chernyshev in PHP
knopkod4v
а транзакция по удалению ресурса может зафейлиться?
Да, например ограничения на БД сработает ondelete
источник

VC

Vladimir Chernyshev in PHP
Volodymyr Melko
имхо, можно дать клиенту батч и в респонс всегда выплевывать
202 Accepted

а под капотом просто кинуть в очередь N тасок на удаление.

ну и статус каждого айтема пусть проверяют отдельно, если им надо =)
Пока все 404 не начнут отдавать?)
источник

VM

Volodymyr Melko in PHP
Vladimir Chernyshev
Пока все 404 не начнут отдавать?)
ну может быть софт-делейт. апдейт дешевле удаления на больших таблицах =)
источник

VC

Vladimir Chernyshev in PHP
Volodymyr Melko
ну может быть софт-делейт. апдейт дешевле удаления на больших таблицах =)
Может быть gdpr или фз какой-то
источник