|
0 / 0 / 0
Регистрация: 06.07.2021
Сообщений: 1
|
|
Создание API06.07.2021, 21:31. Показов 1234. Ответов 10
Метки нет (Все метки)
Мне стало интересно как вообще делают api , которое работает в форме get запроса в виде "url/api.add(get, delete и так далее)?parameters".
Как пример "example.com/method.add?param1=test¶m2=test" Я могу лишь предположить, что это rest api, но как вообще работает "method.add".Для меня это лишь php файл с функцией add, но я даже не знаю насколько это вообще возможно) Знаю, что я плохо донес мысль, но лучше я и не придумаю вовсе...
0
|
|
| 06.07.2021, 21:31 | |
|
Ответы с готовыми решениями:
10
Создание простого API на сервере Создание группы и БАН через API Вконтакте Создание API на сайте для взаимодействия с устройством Android посредством Post запросов |
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||||
| 07.07.2021, 09:02 | |||||||
handler -- callable-обработчик.И всё, при запросе на https://example.com/api/add будет вызываться тот самый handler. Добавлено через 7 минут Если вы пока не понимаете, каким образом при обращении к тому адресу запустится маршрутизатор, почитайте про единую точку входа. Вкратце: сервер при любом запросе (если указанных в URL файла/папки не существует) производит перенаправление запроса на один файл (front-контроллер) -- index.php (как правило).
0
|
|||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||
| 07.07.2021, 11:59 | ||
|
Добавлено через 10 минут Я делаю адаптивы, опираясь на расширение форматов адресов при помощи специального GET-параметра с натуральным числом (?p=N, ?N) или иногда просто окончания пути с натуральным числом (~N, N) и на комбинирование POST-параметров, например: GET /collection?p=N - N-ая страница списка элементов коллекции (максимальное количество элементов на странице может быть предопределено или явно передаваться в адресе или куках); POST /collection?p=N - создание элемента или множественное удаление элементов коллекции в зависимости от наличия POST-параметра id (с id - это создание). Ну, а просто /collection - это уже работа с коллекцией, как элементом "коллекции коллекций". Добавлено через 10 минут В админке, над которой я сейчас работаю, напрямую управлять коллекциями как элементами нельзя, поэтому /collection имеет другой смысл - чтение/обновление специального элемента коллекции, у которого нет идентификатора (точнее он есть, но состоит из пустой строки). Создавать/удалять такой элемент из админки нельзя. Добавлено через 5 минут А еще иногда удобнее всего удалять путем записи пустого значения ![]() Самые безопасные способы передачи данных эл. кошельков/логинов/паролей Создание уникальной, динамической страницы посредством PHP. Как реализовать?
0
|
||
|
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
|
||||||||||||||||
| 07.07.2021, 18:53 | ||||||||||||||||
|
Я всё понимаю, что ветка PHP, но, на всякий случай, о способе который порой куда проще. Это делается роутингом но в .htaccess.
example.com/site/method.add?param1=test¶m2=test
0
|
||||||||||||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|
| 07.07.2021, 20:21 | |
|
HotReboot, если вы считаете это простым, вы просто "не познали вкус" использования единой точки входа.
В контексте разговора про создание API упоминание "роутинга" в .htaccess выглядит особенно весело ![]() Добавлено через 5 минут К слову, единая точка входа - это не только маршрутизация, но и вынесение во фронт-контроллер других общих действий, например авторизации. Также во фронт контроллер можно выносить действия, общие для большой части функций, например проверку существования запрошенной коллекции и выборку ее собственных данных.
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 07.07.2021, 20:26 | |
|
0
|
|
|
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
|
|
| 07.07.2021, 21:19 | |
|
estic, Я вообще противник ООП так как считаю это модной попсой с рюшечками и поэтому мне ваши контролеры в тут не помогут.
0
|
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|||
| 07.07.2021, 22:47 | |||
![]() Добавлено через 5 минут Кстати, это терминология не ООП, а MVC и т.п. Или вы и MVC не используете? ![]() Можете считать контроллерами (ну, или методами контроллеров) обычные файлы, подключаемые "на выбор" в результате маршрутизации из одного и того же файла, называемого фронт-контроллером. Через фронт-контроллер проходят все запросы, обрабатываемые вашим кодом. Добавлено через 8 минут Для примера вот вам полный набор функций за вычетом т.н. File API одного реального API: 0, 1 / - действия, связанные с авторизацией и общей настройкой профиля пользователя; 2, 3 /~N[/] - список доменов, их добавление и удаление; 4, 5 /domain[/] - чтение/запись данных домена; 6, 7 /domain~N[/] - список "фильтров" (любых внутренних адресов) домена, их добавление и удаление; 8, 9 /domain/filter - чтение/запись данных фильтра (т.к. фильтр - это любой внутренний адрес, там может быть своя строка GET-параметров и т.п.). Это REST-адаптив, основанный только на двух HTTP-методах (POST и GET). Каждая пара функций в списке соответствует двум разным методам. Так вот номера функций могут просто определять имена файлов, например 0.php. Это полный набор файлов-обработчиков, не считая обработчика ошибки, который может бы опреден во фронт-контроллере в виде обычной функции или, например, вынесен в файл -1.php
1
|
|||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||||||
| 08.07.2021, 08:43 | ||||||
|
Para bellum, касательно второго "это как?" на показанном выше примере... Функции 4-9 требуют проверки домена, получения каких-то данных о нем. Во фронт-контроллере перед вызовом функции можно, например, сделать так:
0
|
||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 08.07.2021, 12:05 | |
|
estic, это ерунда какая-то. Предположим, есть большое приложение (сайт), с богатой функциональностью. Если подобные проверки выносить во front-контроллер, он быстро в свалку превратится.
Подобную валидацию следует выносить в отдельную службу: она по-разному называется -- filters/middleware и т.д. https://symfony.com/doc/curren... lters.html
0
|
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||
| 08.07.2021, 13:10 | ||
|
Para bellum, "можно" не означает, что всегда нужно так делать. Но, например, та же авторизация в API часто нужна для всех функций.
Добавлено через 2 минуты Суть абсолютно та же, что и в моем простом примере.Добавлено через 4 минуты Кстати, хороший критерий: если вы видите, что фронт-контроллер начинает "превращаться в свалку", остановитесь ![]() Добавлено через 1 минуту Или наполните эту свалку до упора и больше туда не заглядывайте ![]() Добавлено через 4 минуты Когда цепь фильтров настолько велика, что "не видно света в конце туннеля", ее тоже нужно "разгружать", ну, или по крайней мере больше не "нагружать".
0
|
||
| 08.07.2021, 13:10 | |
|
Помогаю со студенческими работами здесь
11
Steam API - как можно получить медиану цен через API? Создание модуля/скрипта используя google maps API Создание API создание API по XML Создание собственных API Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|