RESTful заботы - PullRequest
       29

RESTful заботы

1 голос
/ 07 сентября 2010

У меня есть вопрос относительно ресурсов RESTful, аналогичный этому другому вопросу .

Мы также разрабатываем приложение для iphone, которое будет получать доступ к службам REST, но одна из проблем заключается в том, что первыйscreen делает несколько вызовов в службу, и она должна быть только одна (ресурсы).

Я пытаюсь сделать службу как можно более RESTful, поэтому мне было интересно, как получить к ней доступ..

Я думал о том, чтобы рассматривать iphone (или любое другое устройство) как ресурс и что это dto является свойством.URI будет выглядеть примерно так:

example.com/rest/Device/iphone/HomeScreen

Будет ли что-то подобное приемлемым или есть лучшее решение?

Спасибо, Тони

Ответы [ 4 ]

1 голос
/ 07 сентября 2010

То, что вы делаете, ИМХО вполне приемлемо.Принципы REST гораздо проще применять, когда ваши ресурсы более сфокусированы на требованиях пользовательского интерфейса.

Я делаю именно то, что вы делаете:

http://myserver.com/desktop/{dataset}/shell
http://myserver.com/shopclient/{dataset}/login
http://myserver.com/mobile/{dataset}/home
1 голос
/ 07 сентября 2010

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

Что бы вы ни называли этой структурой, я назову это 'foo', GET для example.com/rest/foo вернет это

Я согласен с тем, что важно ограничить общительность вашего приложения, поскольку вы являетесь владельцем приложения и службы, и, вероятно, никто другой не будет использовать вашу службу.

0 голосов
/ 07 сентября 2010

Я бы не стал создавать ресурс HomeScreen (он очень специфичен для внешнего интерфейса).Что вы показываете HomeScreen?Я бы предпочел выставить модель, отображаемую на HomeScreen, как саму модель HomeScreen.

У нас есть приложение iphone, использующее API REST, которое вызывает несколько ресурсов (несколько вызовов).Тем не менее, приложение чувствует себя очень быстро, потому что используются «бустеры производительности» (кэширование, контроль размера полезной нагрузки, сжатие).

Относительно контентного обсуждения Я думаю, что совместимый формат для iphone достаточен (json или xml).Затем мобильное устройство может отображать эту модель так, как ему нравится.

0 голосов
/ 07 сентября 2010

iPhone подобен специальному клиенту, которому нужен форматированный формат вывода (например, AJAX иногда требует JSON вместо HTML).

Поэтому я бы рекомендовал сделать URL как можно короче:

example.com/rest/HomeScreen

Теперь вы должны определить в вашем контроллере, какой формат запрашивается (html, json, iphone). Вы можете сделать это, определив пользовательский агент или добавив расширение, например:

example.com/rest/HomeScreen.iphone
example.com/rest/HomeScreen.html
example.com/rest/HomeScreen.xml

и т.д..

...