糖果实验室杂货铺

Candy Lab

如何在Lapis中响应POST,GET方法

1 year ago 0

by 糖果

How do I respond to GET, POST, DELETE or other HTTP verbs?

如何响应GET,, POST, DELETE等动作。

The respond_to action decorator function gives a basic framework for running different code depending on the HTTP method.

在同一个路由中响应类似get,post这种用户请求,关键是要使用respond_to这个装饰器。

try_to_login is a hypothetical functions, and not regularly globally available

trytologin,只是一个假的,用说明可能会调用的驱动函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
local lapis = require("lapis")
local app = lapis.Application()
local respond_to = require("lapis.application").respond_to

app:match("/", respond_to({
  -- do common setup
  before = function(self)
    if self.session.current_user then
      self:write({ redirect_to = "/" })
    end
  end,
  -- render the view
  GET = function(self)
    return { render = true }
  end,
  -- handle the form submission
  POST = function(self)
    self.session.current_user =
      try_to_login(self.params.username, self.params.password)

    return { redirect_to = "/" }
  end
}))

在一个函数里声明了三个闭包函数,before、GET、POST,其中的GET,POST函数就是用来响应不同的类型请求。


糖果实验室

Openresty中文编程网
IKBC经典机械键盘
机械键盘领券优惠购买

Write a Comment