[Moscow.pm] JS Object -> request params -> perl hash

Sergey Malochinskiy sergey.malochinskiy на gmail.com
Сб Июл 21 03:30:22 PDT 2012


Сервер отдает JSON потому, что модель CanJS ждет для модели на входе JSON.
"can.Model is a can.Observe that connects to a RESTful interface."
т.е. не смотря на заявленный RESTful никаких настроек дополнительных
для модели нет.
И POST и PUT оно делает именно через cgi-параметры.
"It doesn't send json data. It sends form encoded data." - т.е. видимо
возможен RESTful и без JSON в POST и PUT.

В Mojolicious есть конечно возможность вытащить JSON из запроса(my
$data = $self->req->json;), но в этом случае оно не работает.
Возвращает undef. И собственно правильно делает... :)

Само приложение это сложная админка для сайта. Поэтому в данном случае
забота о других программистах постольку поскольку.
Просто хочется все сделать единобразно и красиво.
Почитал внимательно форум CanJS видимо все таки придется
конвертировать в JSON на клиенте.

Спасибо за то что натолкнули на правильное направление!


21 июля 2012 г., 13:53 пользователь Dmitry L. <dim0xff на gmail.com> написал:
> 2012/7/21 Sergey Malochinskiy <sergey.malochinskiy на gmail.com>:
>> Да я об этом думал, но в этом случае будет преобразование на
>> клиенте... не хотелось бы. Сейчас все запросы делает клиентская
>> библиотека (can.js) данные в модели, запросы сами отправляются при
>> изменении модели и т.д.
>> В принципе у меня есть решение по преобразованию на стороне клиента,
>> но все таки хочется на стороне сервера...
>>
> Не совсем понятно почему ваш сервис отдаёт JSON, а получает просто параметры.
>
> Вы делаете сервис, и завтра могут появиться пользователи-программисты,
> которые найдут ваш сервис интересным и захотят, к примеру, сделать
> своё приложение для этого сервиса. И, я думаю, у них возникнет
> закономерный вопрос - а почему так (это про JSON и cgi-параметры)?
>
> Если же это такая задумка, чтобы сервис обрабатывал и JSON и
> cgiпараметры, то соответственно нужно писать де- и сериализаторы,
> которые вероятно будут основываться на Content-Type входящего запроса.
> Я к сожалению не пишу на Mojolicious, возможно там уже есть
> соответствующие механизмы, об этом наверное нужно спросить в рассылке
> mojolicious.
> А относительно can.js - мне кажется там должны быть механизмы для
> передачи JSON про сохранении/обновлении модели
>
>
> --
> //wbr, Dmitry L.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org



-- 
Best regards,
Sergey Malochinskiy


Подробная информация о списке рассылки Moscow-pm