@oop_ru

Страница 676 из 785
Aleh
14.06.2018
09:46:37
Еще любимое про rest https://mobile.twitter.com/fielding/status/324448353180061696

Sergey
14.06.2018
09:46:43
ну то есть я могу понять если "фасадом" там называют то что возвращает Database:: штука (или че там есть хз не юзал), и это именно фасад наз базой. Но люди сам доступ фасадом называют

потому что глупенькие

"мы будем делать rest на mvc архитектуре что бы придти к микросервисам"

Google
Sergey
14.06.2018
09:47:34
какой-нибудь такой булшит

Event sourcing на eloquent

Еще любимое про rest https://mobile.twitter.com/fielding/status/324448353180061696
я помогу людям - Рой это тот чел который ввел термин REST если непонятна шутка

Sergey
14.06.2018
09:49:36
тема для конференции готова
воркшоп на 8 часов, че

Миша
14.06.2018
10:25:42
тут все считают что рест гавно?

Bohdan
14.06.2018
10:27:58
а что такое рест?

Миша
14.06.2018
10:28:32
тема для срача

Aleh
14.06.2018
10:28:36
тут все считают что рест гавно?
тут все считают, что рест апишек не существует)

(мои мечты)

Миша
14.06.2018
10:29:15
graphql нас спасет?

Aleh
14.06.2018
10:29:34
ну graphql норм, но можно и просто json api делать

Артур Евгеньевич
14.06.2018
10:29:46
тут все считают что рест гавно?
Мне кажется rest по сути просто собрал в себя часть стандарта HTTP и пытается вывалиться как что то новое

Google
Артур Евгеньевич
14.06.2018
10:29:54
хотя HTTP и сам не идеален

ну graphql норм, но можно и просто json api делать
А что ыт понимаешь под josn api? вроде если ты возвращаешь json то это уже jsonapi

http://jsonapi.org/

Sergey
14.06.2018
10:30:29
graphql нас спасет?
нельзя противопостовлять несуществующей вещи существующую

Aleh
14.06.2018
10:30:46
http://jsonapi.org/
ага, есть много вариантов

Sergey
14.06.2018
10:30:48
А что ыт понимаешь под josn api? вроде если ты возвращаешь json то это уже jsonapi
да, в целом любой json rpc over http норм, или xml или что хочешь

Aleh
14.06.2018
10:31:11
первый шаг - признать, что у тебя rpc

Sergey
14.06.2018
10:31:11
ну то есть....

Артур Евгеньевич
14.06.2018
10:31:23
первый шаг - признать, что у тебя rpc
а ну вот) то есть основа rpc

а протокол уже дело 10

Aleh
14.06.2018
10:31:57
а протокол уже дело 10
протокол в смысле транспорт да

Миша
14.06.2018
10:32:02
Все таки было бы не плохо следовать какой то проверенной методике формирование запросов/ответов. Что можете тогда порекомендовать?

Sergey
14.06.2018
10:32:09
да, именно так. А если еще непонимаешь почему REST API не существует - единственный реальный пример REST - это web. То есть вся совокупность, http, html и т.д. Гипертекст и code on demand. То есть у тебя есть браузер который ничегошеньки не знает о том что куда ты хочешь и что там есть.

Sergey
14.06.2018
10:32:40
http
это транспорт для твоего приложения, все остальное ты наворачиваешь выше сам

Sergey
14.06.2018
10:33:08
короч если ты хоть какие-то знания о сервере хардкодишь на клиенте - будь то урлы, структуры данных и т.д. - то это уже не REST. И не надо.

Миша
14.06.2018
10:33:15
я видел много крайне паршивых json api

Sergey
14.06.2018
10:33:34
я видел много крайне паршивых json api
а я много крайне паршивых "хреней" которые люди называли REST-ом)))

Google
Евгений
14.06.2018
10:33:50
Транспорт? Транспорт это жи TCP, с использованием хттп тебе уже надо будет соблюдать правила запроса ответа и разгулятся тебе не дадут...

Миша
14.06.2018
10:33:52
Sergey
14.06.2018
10:34:05
ну да нормальго REST я тоже не видел
ну так о чем "проверенном" мы говорим)

Sergey
14.06.2018
10:34:43
Транспорт? Транспорт это жи TCP, с использованием хттп тебе уже надо будет соблюдать правила запроса ответа и разгулятся тебе не дадут...
Единственное приложение которое может использовать http как application level протокол - это браузер. Все. Дальше все всеравно наворачивают что-то сверху. Взгляни хотя бы на WebDAV

а так http хорошо подходит для RPC)

Aleh
14.06.2018
10:35:06
в общем что есть транспорт зависит от того, с какого угла вы смотрите)

Артур Евгеньевич
14.06.2018
10:38:03
в общем что есть транспорт зависит от того, с какого угла вы смотрите)
ну так то можно для любого текущего уровня назвать транспортом предыдущий

Sergey
14.06.2018
10:41:18
ну так то можно для любого текущего уровня назвать транспортом предыдущий
У тебя есть приложение которое ходит на сервер по определенным урлам и постит определенные структуры. Это ли не протокол уровня приложения? И если так, использует ли приложение http тупо как транспорт?

то есть такие штуки как http cache framework - ты его юзаешь в контексте API? Или ты кэш обычно все же на уровне приложения реализуешь?

Aleh
14.06.2018
10:43:00
Артур Евгеньевич
14.06.2018
10:43:24
ну можно транспорт разделить допустим на два уровня) первый будет http - а второй это то протокол котоырй мы приняли в приложении - будет трансопртом для нашей логики

тут больше вопрсо в именовании и сопоставлении с OSI

Sergey
14.06.2018
10:45:01
тут больше вопрсо в именовании и сопоставлении с OSI
с точки зрения OSI все это application level

и нас не особо интересует OSI в этом контексте)

F01134H
14.06.2018
12:11:17
А как сделать версионирование в json rpc?

или этот вопрос вообще не должен возникать

Вадим
14.06.2018
12:24:21
Нид хелп ... захотел купить бумажное издание Фаулера, но есть "Шаблоны корпоративных приложений" и "Архитектура корпоративных программных приложений" ... судя по оглавлению одно и тоже и количество страниц тоже одинаковое. Но ISBN разный. Что лучше?

Google
Aleh
14.06.2018
12:25:51
А как сделать версионирование в json rpc?
для простых случаев: /v1/ /v2/

F01134H
14.06.2018
12:26:33
в смысле?

и куда эти v1 v2 девать?

(;¬_¬)
14.06.2018
12:27:02
blabla/api/v1/blblbla

F01134H
14.06.2018
12:27:05
у меня ж вроде как единый эндпоинт, через который я коллбэки вызываю

мы точно про json rpc говорим?)

Tex
14.06.2018
12:27:56
у меня ж вроде как единый эндпоинт, через который я коллбэки вызываю
ну вот единый, если он не предусматривал версионирование, редиректишь на условный v1 надо что-то сломать в обратной совместимости - делаешь v2 и ломаешь там.

(;¬_¬)
14.06.2018
12:27:57
ну а в чем проблема hostname/api/v1/endpoint ?

Admin
ERROR: S client not available

F01134H
14.06.2018
12:28:20
окей

а какие то best practices есть?

я бы на твоем месте не использовал комментирование в телеграме, если нечего по существу ответить ?

а какие то best practices есть?
я имею ввиду не с подменой версии в роуте

(;¬_¬)
14.06.2018
12:33:00
F01134H
14.06.2018
12:33:11
тоже об этом подумал

а на уровне класса как грамотно версионировать методы?)

в таком случае

через неймспейсы делать два разных класса?

Артур Евгеньевич
14.06.2018
12:34:32
а на уровне класса как грамотно версионировать методы?)
У нас было когда разные версии апи - это разные инстансы одного приложения

и в зависимости от роута заруливаешься на нужный инстанст

Google
Дмитрий
14.06.2018
12:38:59
Удобнее когда версия указывается в схеме

Так как она всё равно меняется от версии к версии

Sergey
14.06.2018
12:40:17
для простых случаев: /v1/ /v2/
это самый херовый вариант

у тебя поменялся один роут - тебе всю API пробрасывать с новым префиксом?

это годный вариант когда вся API меняется. Например у тебя есть API ты понял что все сделано через жопу и надо все прям переделывать

Sergey
14.06.2018
13:00:19
лучше через хедеры)

Nik
14.06.2018
13:14:09
господа, куда бы вы запихнули некую сучность конвертации входящих данных аля старые-новые названия переменных в Request ?

Sergey
14.06.2018
13:14:33
мидлвары, пайплайны, адаптеры

Nik
14.06.2018
13:15:24
есть старое апи, в котором многие вещи названы от балды, но его выпиливать не собираются, так как клиенты и мобильные приложения. сейчас пишем новую версию апихи, но структура бд и поля остаются старыми, по-этому есть диллемка - в каком месте все это дело преобразовывать

Sergey
14.06.2018
13:16:08
мидлвары, пайплайны, адаптеры

делему нашел

тебе нужен какой-то способ задать мэппинг - а это уже надо исходя из ситуации смотреть как проще/лучше

Nik
14.06.2018
13:17:16
мидлваря не совсем подходит т.к. если преобразуем поля, валидация уже будет ругаться на новые нейминги, а за адаптеры подумаю, спасибо, наверное оптимальный вариант

Sergey
14.06.2018
13:21:21
так что я не понимаю как тебе мидлвары не подходят а адаптеры уже подходят)

Nik
14.06.2018
13:21:53
так то да, но я про отдельный сервис, который в самом контроллере уже преобразует данные в нужный формат

Sergey
14.06.2018
13:22:02
но как хочешь

я бы конвертил из старого в новый и уже новый валидировал бы

Nik
14.06.2018
13:22:37
не могу, потому что ошибки валидации будут сыпаться не на price, а на globalUnitPrice переменную

Страница 676 из 785