Слияние кода завершено, страница обновится автоматически
Указание имени метода в нижнем регистре.
Допустимые имена методов: get
, post
, put
, delete
, patch
, head
, options
.
-- route
local function foo(params)
ngx.say("foo")
end
r3:get("/a", foo)
r3:post("/b", foo)
r3:put("/c", foo)
r3:delete("/d", foo)```
**Компиляция**
`Синтаксис: r3:compile()`
Компилирует наши пути маршрутов в префиксное дерево (trie). Вы должны скомпилировать после добавления всех маршрутов, иначе сопоставление может не сработать.
**Отправка**
`Синтаксис: ok = r3:dispatch(path, method)`
* `path`: URI клиентского запроса.
* `method`: имя метода клиентского запроса.
`Синтаксис: ok = r3:dispatch(path, opts)`
* `path`: URI клиентского запроса.
* `opts`: таблица Lua
* `method`: опционально, имя метода клиентского запроса.
* `host`: опционально, хост клиентского запроса, поддерживает не только обычные доменные имена, но и подстановочные знаки, допустимы как `foo.com`, так и `*.foo.com`.
* `remote_addr`: опционально, удалённый адрес клиента, например `192.168.1.100`, также можно использовать формат CIDR, например `192.168.1.0/24`.
Отправляет путь контроллеру по `method`, `path` и `host`.
```lua
local ok = r3:dispatch(ngx.var.uri, ngx.req.get_method())```
**Dispatch2**
`Синтаксис: ok = r3:dispatch2(param_tab, path, method)`
`Синтаксис: ok = r3:dispatch2(param_tab, path, opts)`
В основном то же самое, что и `dispatch`, поддержка передачи объекта таблицы для хранения параметров синтаксического анализа, упрощает повторное использование таблицы Lua.
**Установка**
### Зависимые библиотеки
```shell
# Ubuntu
sudo apt-get install check libpcre3 libpcre3-dev build-essential libtool \
automake autoconf pkg-config
# CentOS 7
sodu yum install gcc gcc-c++ git make automake autoconf pcre pcre-devel \
libtool pkgconfig
sudo make install```
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )