запрос на своём сайте
По заголовкам — UTF-8, а на деле — Windows-1251. Вот сука! Хоть бы экранировала свой JSON. Никак не могу понять, где нужно что поменять, чтоб стало хорошо. Долго копался в исходниках, там обработки media=json вообще нет, и самой обработки запроса, того, что мне нужно, нет. Вот есть объекты, и вот они стали кривым JSON, где это недостающее звено посередине. Всё от чего–то наследуется, ищи–свищи, где там какой козёл забрёл в огород Windows-1251 на сайте, который насквозь UTF-8 должен быть по идее. Ну вроде нашёл какой–то левый org.restlet.service.*, который вообще из другого проекта подтянулся по зависимостям и не считается с настройками остального сайта. И вот даже нашёл страничку, из которой понятно стало, каким образом media=json срабатывает. Непонятно, что где поменять, чтоб JSON был на самом деле UTF-8. То ли в web.xml поменять (что?), то ли в движке сайта, где делаются настройки для Restlet, то ли в самом Restlet. Ну и лапша!
Тщетно пытаюсь починить По заголовкам — UTF-8, а на деле — Windows-1251. Вот сука! Хоть бы экранировала свой JSON. Никак не могу понять, где нужно что поменять, чтоб стало хорошо. Долго копался в исходниках, там обработки media=json вообще нет, и самой обработки запроса, того, что мне нужно, нет. Вот есть объекты, и вот они стали кривым JSON, где это недостающее звено посередине. Всё от чего–то наследуется, ищи–свищи, где там какой козёл забрёл в огород Windows-1251 на сайте, который насквозь UTF-8 должен быть по идее. Ну вроде нашёл какой–то левый org.restlet.service.*, который вообще из другого проекта подтянулся по зависимостям и не считается с настройками остального сайта. И вот даже нашёл страничку, из которой понятно стало, каким образом media=json срабатывает. Непонятно, что где поменять, чтоб JSON был на самом деле UTF-8. То ли в web.xml поменять (что?), то ли в движке сайта, где делаются настройки для Restlet, то ли в самом Restlet. Ну и лапша!
а). мне нужно на один запрос отдать 2 файла, как это делать правильно?
б). если создавать ресурсы, то как ими принято управлять?
в). так же есть следующий кейс, нужно провести операцию над двумя файлами и получить результат. Как это лучше делать 1 post страничка и ждать multipart-form-data оттуда выдёргивать файлы и сразу выдавать результат? Ждать, что пользователь два файла (post/put) и потом вызовет get метод указав пути к файлам?
В роликах на ютубе очень эффектно всё это выглядит. А вот перворазник fly-бордист еле удерживался на борде и с трудом поднимался на сколько-нибудь существенную высоту. В результате желание покататься на таком борде у меня опустилось до неопределённого "если бесплатно, то попробовал бы".
К примеру, у меня есть некий POST запрос на изменение некоего ресурса с MAC подписью. В случае если MAC проверка не прошла я хочу возвращать 403 Forbidden . А в случае если произошла некая ошибка при обновлении в БД ? Есть на этот счёт какие-нить рекомендации?
horicky.blogspot.com нашёл вот такой кусок: Find all dogs whose master is John. GET /persons/search?q=(name,eqJohn)/dogs — ладно с условием там кривовато (и запятая явно потерялась), но в query string писать /<подобъект> — это нормальная практика? и есть какой-то стандарт на это?
На В общем несмотря на то, что эта штука пока развивается, и отстает по возрасту и популярности от Tastypie, она очень даже весьма крута и красива.
И собственно почему возник вопрос. Вообще откуда у автора к примеру Tastypie, да и у других подобно мыслящих такие вот идеи? Ну по сути ведь, REST очень схож с реляционной моделью. Те же отношения в определенный момент времени, те же кортежи, а вложенность — это внешние ключи по сути своей. Реляционная модель не запрещает же внешние ключи, и связи между отношениями, так почему REST, так же описывающий "реальное представление мира" должен отказываться от таких средств?
quora.com на Quora задали вопрос, какое самое RESTful API в интернете. В первом же ответе каким-то боком затесался Amazon S3. Мне так кажется, или у Amazon вроде смесь REST с RPC, ну короче что-то свое )
1. Запрос должен идти с заголовком Contrent-Type: application/json (ну, или другим каким-то, в котором возможно слать не тупо ключ-значение, а массив)
2. Если обычный запрос идёт на /api/items/ , то этот должен идти на /api/items/_bulk
3. В запросе идёт json-массив с тем, что мы хотим.
4. В ответе идёт json-ответ с массивом результатов по каждой вставке.
5. Если в будущем захотим параметризировать такой запрос (к примеру, какой-нибудь аналог safe=True из монги, типа в транзакции всё делать или нет) — параметризировать http-заголовком, возможно каким-то своим X-BULK-SAFE=true или типа того. Тут еще надо подумать.
shop.oreilly.com Наверное таки надо разоряться на хорошие книги. Нашел книгу по REST дизайну. Надо бы почитать в электронном варианте, а если хороша будет, то заказать. Изучать всякие джанги с рельсами дело хорошее, но когда не можешь спроектировать приложение, то хоть на scaffold пиши — ничего не получится. А REST таки выглядит весьма перспективным и вкусным делом, да.
en.wikipedia.org и посмотреть небольшую табличку в конце, то видно, что над коллекциями так же можно проводить полноценные CRUD операции, а не только Read. Возникает вопрос собственно. А каким образом идеологически правильно можно проводить CRUD операции над коллекциями (например, передача данных, обновление части коллекции или добавление в коллекцию последовательности объектов и так далее), и является ли это RESTful, а не воспаленной фантазией wiki-автора статьи? Не забуду также упомянуть Collections в backbone.js, которые вроде бы с одной стороны вспомогательную функцию несут, с другой стороны вполне могут быть концепцией REST.
Тема в принципе не нова, а часто еще хочется, чтобы RESTful умел и кусочек RPC, и прочие штуки, но вот такой момент все таки волнует. Где оно так сказать, православно описано? Или на базе приведенных концепций нужно исходить из собственных знаний и идеологии? Сколько искал, пока не смог найти адекватного для понимания моим мозгом описания сей прекрасной концепции. Может кто подкинет ссылочек?
Что-то все чаще хочется углубленно разобраться в архитектуре REST. Есть многие непонятные моменты, а уж то, что концепция как таковая многими трактуется по разному — уже и говорить не приходится. Вот возьмем к примеру Ruby On Rails. Базовая концепция в них — RESTful. Ок. Есть операции над ресурсами, и только одна операция над коллекцией. Если заглянуть в Wiki: Тема в принципе не нова, а часто еще хочется, чтобы RESTful умел и кусочек RPC, и прочие штуки, но вот такой момент все таки волнует. Где оно так сказать, православно описано? Или на базе приведенных концепций нужно исходить из собственных знаний и идеологии? Сколько искал, пока не смог найти адекватного для понимания моим мозгом описания сей прекрасной концепции. Может кто подкинет ссылочек?
timelessrepo.com в дополнение
За счет ограниченного числа методов и состояний очень легко должно быть писать тесты под REST-приложения.