2010-05-03 2 views
0

У меня возникла проблема с моим текущим проектом RESTful api.REST не работает с установкой Sever-Client-Client

У меня есть REST api, который используется веб-сервером Django, который отображает HTML-шаблоны.

REST api 
     > Django webserver 
       > HTML 

Проблема я встречая что я должен восстановить все URLS как

mysite.com/main/cities/<id>/streets/ 

в эквивалентные REST API URL-адресов на моем веб-сервере слоя:

api.com/cities/<id>/streets/ 

Таким образом, я имеют много карт взад и вперед, но, насколько я знаю, REST говорит, что клиенту (в данном случае моему веб-серверу) НЕ нужно знать, как перестроить URL-адреса.

Может ли REST использоваться для такой настройки и как? Или это только жизнеспособно для архитектуры Server-Client.

Благодаря

ответ

0

Я думаю, что вы пытаетесь сделать это действительно сложно. Предполагая, что ваш веб-сервер правильно использует HTTP (например, не состояние сеанса), вы на самом деле пытаетесь наложить один сервис REST поверх другой службы REST. Это означает, что у вас есть «состояние приложения» на уровне веб-сервера, которое необходимо передать клиенту и управлять рядом с фактическим состоянием клиента. У меня болит голова.

Я не видел этот тип REST сервис состава сделано много. Тем не менее, у Ceasare Pautasso есть исследовательская работа по этому вопросу here. В своем случае он идет дальше и использует два сервиса REST для создания третьего составного сервиса.

+0

Спасибо за комментарий. У меня тоже болит голова :-) Также обратите внимание - что я не пытаюсь создать службу RESTful с моего промежуточного веб-сервера (django) на html-клиент (браузер). Только пытаться быть своего рода «посредником» между ними. PS: Отличная статья. Я продолжу читать и посмотреть, что он рекомендует. – drozzy

+0

Хм ... Я должен сказать, что бумага - не что иное, как исследование «как сделать композицию отдыха с помощью этого классного инструмента Java». Я бы скорее прочитал общую философию, стоящую за ней, и перетащил этот значок в затмение и создал кучу стрел. Спасибо в любом случае - это было интересно читать. – drozzy

+0

Извините. Я предположил, что бумага будет немного больше. Я просто слышал, как Цезар выходил на конференцию WS-REST, и он сделал достойную работу по освещению темы. –

0

Почему вы не позволить веб-серверу перезаписывать URL-адреса?

+0

hows that? Вы имеете в виду только картографирование, например? – drozzy

+0

хорошо, простите мою простоту. Вы говорите, что вам нужно восстановить свои URLS, и это то, что обычно может обслуживать веб-сервер. В основном это приведет к удалению «/ main» из URL-адресов, чтобы сделать их совместимыми с вашим клиентом REST. – Bernd

+0

Это не всегда взаимно однозначное отображение. Моя служба REST может предоставлять список ресурсов по 100 элементов за раз, в то время как я могу отображать их на клиенте 50 элементов за раз. Я должен сделать больше вовлеченного преобразования, чем это. – drozzy

Смежные вопросы