Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > zend framework auto detect soap, rest, json


Автор: PavelSvoboda 30.7.2013, 15:59
написал ws (soap) на базе Zend_Soap_Server  , поставили задачу дописать поддержку REST , JSON. может есть у кого опит.

Автор: PavelSvoboda 30.7.2013, 16:17
мне по сути нужен autodetect для сервера тоисть определения что пришло (soap, rest, json)

вот думаю писать проверку mime типов или харкордить урли и розруливать роутерами 

Автор: Fortop 30.7.2013, 19:48
Цитата(PavelSvoboda @  30.7.2013,  16:17 Найти цитируемый пост)
мне по сути нужен autodetect для сервера тоисть определения что пришло (soap, rest, json)

soap можно попробовать валидировать по схеме

json - использовать json_decode, если на выходе что-то вразумительное, значит пришел он

rest - не определяется никак вообще. это не протокол, а архитектура приложения. Т.е. все что не первые два можешь считать что запрос через rest

Автор: PavelSvoboda 31.7.2013, 11:32
Спс . Так и начну. Лиха беда начало  smile 

Автор: Fortop 31.7.2013, 13:31
А кстати, что мешает тебе сделать разные точки входа для разных данных? Это разумно
Цитата(PavelSvoboda @  30.7.2013,  16:17 Найти цитируемый пост)
 урли и розруливать роутерами 


Т.е. 

site.com/rest/ - для запросов rest
site.com/json/ - соответственно
site.com/soap/ - для соап

Автор: PavelSvoboda 31.7.2013, 14:10
сервисов много

Добавлено через 4 минуты и 29 секунд
впринципе. 

site.com/rest/ - для запросов rest
site.com/json/ - соответственно
site.com/soap/ - для соап

как модули , а соотретствие сервисам (client, carrier) как контроллери. 
Думаю будет норм.


Автор: Fortop 31.7.2013, 16:14
Цитата(PavelSvoboda @  31.7.2013,  14:10 Найти цитируемый пост)
как модули , а соотретствие сервисам (client, carrier) как контроллери. 

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

site.com/client/soap
или
site.com/soap/client


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

Автор: PavelSvoboda 31.7.2013, 16:21

Цитата

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


На мой тоже , по нему уже пишу.

Спс. тебе добрий человек  smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)