REST vs GraphQL/RPC (вынесено)

fixxxer

К.О.
Партнер клуба
Да нафиг для всего этого не нужен встроенный js, штатных возможностей nginx достаточно
могу ли я написать в сваггере
Не вижу смысла все на свете впихивать в псевдо-RESTful.
Мы ж саму картинку (или видео) отдаем, а не какие-то там ее метаданные.
Тут вообще нормальная ситуация, когда PUT на один сервер, а GET с другого. Тем более, что там наверняка нифига не PUT, а что-то типа enqueueConversion.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Эмм .. когда PUT на один обработчик, а GET с другого - это обычный, нормальный REST. В этом и цель.
У меня точно PUT потому что я его осознанно написал, это замена media-файла на диске. Это не действие, это предача картинки между сервером и клиентами.
Есть сущность - карточка, к ней есть видео и картинка. Все нормально.
Я не смогу поменять протокол, на нем несколько нативных клиентов.
Что такое enqueueConversion - даже не знаю, и гугл показывает только ссылки на Oracle DB
 

fixxxer

К.О.
Партнер клуба
А, ну если это замена файла на диске, тогда да.
Часто то, что заливается и то, что отдается - совсем разные вещи (как на том же youtube).
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Например, залили картинку, и получаем ее в нужных разрешениях по параметрам. Классический REST - отдаем из отдельного сервиса с хранилищем и кешем.
Я не про RESTfull синтаксис, его нет, а про REST архитектуру.
Бинарно отдается и заливается разное, по смыслу - одно.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Глянул youtube api, судя по примеру - точнее, по отсутствию в примере для curl видеоданных, сначала запросом с JSON идет создание логической сущности, потом заливается видео.
Пережатие видео после аплоада - а что в этом неправильного? Сервер может изменить сущность, клиент при желании может синхронизировать ее к себе.
 

fixxxer

К.О.
Партнер клуба
В принципе - ничего, но я предпочитаю выражать действия явно, а не скрывать за бессмысленными глаголами типа POST/PUT.
При заливке видео на youtube оно на самом деле ставится в очередь на конвертацию, после конвертации появляется несколько иная сущность со своими свойствами (несколько разрешений и форматов).
(Я не говорю сейчас, что api youtube идеально, там api говно, я безотносительно их реализации).
Понятно, что всегда эту неявность можно прояснить введением дополнительных сущностей, но вот нахрена этой эквилибристикой "какие сущности добавить, чтобы для них банальные CRUD были разумными и очевидными операциями" заниматься - мне неясно.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
в каком стандарте ты бы описал запрос на постановку видео в очередь на конвератцию?
 

fixxxer

К.О.
Партнер клуба
Это не запрос, это команда.
Да все, что позволяет явно выразить действие, годится, хоть graphql, хоть любой rpc
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
слив засчитан ;)
нет никакого стандарта rpc, единственный - с бинарным протоколом, и вообще не для http,
а graphql во-первых придумали в 2015, во-вторых это протокол фейсбука, не IETF
 
Последнее редактирование:

grigori

( ͡° ͜ʖ ͡°)
Команда форума
для второго самого крупного сервиса мира, который больше фейсбука (70% взрослого населения США), и в котором деньги идут от промышленных клиентов с интеграциями - однозначно стандарт и поддержка на всех платформах важнее всего
 

Adelf

Administrator
Команда форума
И потом иметь странную динамику, когда этим стандартам надоедает соответствовать?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
да я не оцениваю REST, просто нет других стандартов для HTTP сопоставимого уровня принятия в отрасли
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Не все ж хотят пилить плагинчики для CMS-ок. Кому-то работа сервиса важнее, чем мнение, которое мы пишем через 15 лет после того, как они написали этот api.

За разработку этого api платят команде разработчиков с зарплатами в пол-миллиона долларов в год, и этот api обеспечивает интеграции с выручкой в 15 миллиардов долларов ежегодно.
 

Adelf

Administrator
Команда форума
не. я понимаю что у тебя выбора нет. забыл написать в прошлом сообщении. я в курсе про огромную инертность всей этой области.
 

fixxxer

К.О.
Партнер клуба
Как ты ловко перешел от конфигурации nginx к 15 миллиардам долларов :)

GraphQL уже можно считать стандартом, если что. Тому же Paypal-у отсутствие IETF-стандарта не мешает, активно внедряют.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
давай разделим темы :) они вообще не связаны
я, может, и смогу перейти на graphql, но когда - не знаю
при чем тут paypal? гугл еще долго не станет писать новый api к youtube, им это денег не добавит
 
Сверху