powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Несколько вопросов связанных с REST
18 сообщений из 18, страница 1 из 1
Несколько вопросов связанных с REST
    #38730638
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Планируется сделать RESTful приложение на laravel, которое будет отдавать данные по запросу, или выводить в браузер. Прежде REST в приложениях использовать не приходилось, поэтому есть ряд моментов, которые мне не совсем понятны. Подскажите пожалуйста решение, или покажите, где подобные вопросы рассматриваются детально.

Вопрос первый.
По умолчанию laravel возвращает данные в html. Если мне нужно получить эти данные в формате JSON, то я в Content-Type заголовка должен указать, что мне нужен JSON, а в контроллере фреймворка проверять значение заголовка и возвращать соответствующий формат. Правильно?

Вопрос второй.
Данные, которые выводит приложение в браузер, должны быть доступны только зарегестрированным пользователям. Как это делать в принципе понятно. Но также необходимо дать возможность получать эти данные сайту сделаному на Drupal. Пока что такой сайт один, но позже добавится еще несколько других сайтов, которые будут запрашивать эти данные, потом и мобильное приложение появится. Как сделать так, чтобы данные из приложения могли получить только опеределенные сайты? Я не могу сообразить, как определять, на какой запрос вернуть данные, а на какой отказать? Как сайты, запрашивая данные, должные себя идентифицировать? Как в принципе такие вещи делаются?

P.S. Может это и не важно, но на сервере, где будет стоят RESTful приложение, HTTPS нет и не предвидится.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38730888
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob_j,

Ответ на вопрос первый: читаем мануал

Ответ на вопрос второй: любой запрос к RESTful сервису можно подписать уникальным токеном, правила формирования которого известны клиенту и серверу. Формируется (обычно) путем создания хеша от каких-нибудь данных + суперсекретной соли, которую знают клиент и сервер. Если токен от клиента не совпал с серверным -> отказать.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38730957
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouseлюбой запрос к RESTful сервису можно подписать уникальным токеном, правила формирования которого известны клиенту и серверу.
С токеном понятно, я так и думал. Я не соображу как его передать? Как один из параметров запроса? Где можно почитать/посмотреть подобные примеры реализации?
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38730978
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob_j,

Ну как один из гет-параметров передать.
Реализация простейшая. Пример запроса:

Код: html
1.
http://site.com/restapi/someMethod?a=1&b=4&token=12345678abcdef9012345678abcdef90



token формируем -
Код: php
1.
md5("someMethod?a=1&b=4"."{salt}");
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38730995
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouseНу как один из гет-параметров передать.

Спасибо. Вы подтвердили мои предположения.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732059
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаюсь к первому вопросу. Я имел в виду не то, как мне в laravel-приложении сформировать ответ в JSON формате, а как запросить от laravel-приложения ответ JSON формате?
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732180
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob_j,

То есть?
Что значит запросить?
Приложение же ты делаешь? Получил массив, скормил в
Код: php
1.
Response::json()

, вернул. От он тебе и JSON
Или хде? Или что?
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732201
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouseЧто значит запросить?
Приложение же ты делаешь?
Запросить - значит, что у меня в приложении есть метод например get_articles вызывается через myapp.com/articles . Браузер просит вернуть результат в html, но если я из мобильного приложения, или с другого сайта запрошу этот же myapp.com/articles, то мне однозначно html не нужен, а вот JSON самое то. Как мне в get_articles определить в каком формате вернуть результат? Я думаю, что в запрашивающем сайте/приложении надо при отправлении запроса в Content-Type установить JSON, или я что-то усложняю, или не догоняю? Я понимаю, что вопрос элементарный, но я почему-то в него уперся.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732213
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob_j,

Видимо, тебе надо разделить сайт и апи. Так обычно все нормальные люди делают.
То есть на запрос
Код: html
1.
http://myapp.com/articles

отдавать HTML,
а на
Код: html
1.
http://myapp.com/restapi/articles

- JSON. Или че?
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732225
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMousebob_j,

Видимо, тебе надо разделить сайт и апи. Так обычно все нормальные люди делают.
То есть на запрос
Код: html
1.
http://myapp.com/articles

отдавать HTML,
а на
Код: html
1.
http://myapp.com/restapi/articles

- JSON. Или че?
А как же тогда принцип DRY?
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732239
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, да, DRY вполне можно придерживаться и разделив сайт и API. Это я погорячился. MikkiMouse, спасибо за помощь.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732269
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob_j,

В принципе, есть вариант, когда одни и те же данные можно отдавать и для сайта и для АПИ.
И это будет JSON в обоих случаях.
Но тогда надо придумывать, как тот же JSON интерпретировать в HTML в браузере, использовать какой-нибудь JS Templater
У меня до сих пор такого опыта не было. Но это может быть потому, что я не программирую на JS.
Но варианты есть...
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732272
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,
JSON воплне можно преобразовать в массив РНР и работать с ним в представлении, но, по-моему, это не комильфо. Можно просто общую логику вынести в приватный метод и просто вызывать его из апишных методов и методов сайта.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38732273
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bob_j,

Я не о том, парень.
JSON, о котором говорю я, не нуждается в преобразовании в PHP-массивы :)
Читай внимательнее. Так как и браузер, и андроид-дивайс - это все суть клиенты, то в принципе неважно, какой клиент запросил данные...
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38733212
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMousebob_j,

Я не о том, парень.
JSON, о котором говорю я, не нуждается в преобразовании в PHP-массивы :)
Читай внимательнее. Так как и браузер, и андроид-дивайс - это все суть клиенты, то в принципе неважно, какой клиент запросил данные...
Ну да. То что я говорю - это фактически частный случай в разрезе view фреймворка. Я, как бы, проецирую на свою проблему. Ну, или мы где-то не понимаем друг друга.
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38737538
Делай запрос
Articles.html
Articles.json
Всех делов то;)

С контент тайп не рекомендовал бы...
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38741133
bob_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
както так...С контент тайп не рекомендовал бы...
Спасибо за совет. А почему с контент тайп не стоит?
...
Рейтинг: 0 / 0
Несколько вопросов связанных с REST
    #38746951
Потому что шаманить в запросе с тайпом гораздо сложнее (или не всегда возможно) чем прямой запрос!;)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Несколько вопросов связанных с REST
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]