前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >lua + openresty web API 框架编辑一下

lua + openresty web API 框架编辑一下

作者头像
horan
修改2023-12-15 15:21:35
3890
修改2023-12-15 15:21:35
举报

这是一个非常易用简单的 web api 框架,采取了一些较好的 php 框架的设计

主要目录结构分为 lib(公共方法),model(数据库相关),controller(由 nginx location 指向的 lua文件也就是控制器)

以下是一些基本用法:

代码语言:javascript
复制
local cjson = require('cjson')
local conf = require('config.app')
local Model = require('models.model')
local request = require('lib.request')
local validator = require('lib.validator')

--use request to get all http args
ngx.say(cjson.encode(request))
--curl "localhost:8001?id=1" -d name=foo     
--{"name":"foo","id":"1"}

local ok,msg = validator:check({
    name = {require=1,max=6,min=4},
    id = {require=0}},
    request)

if not ok then
    ngx.say(msg)
end

local User = Model:new('users')
ngx.say('where demo:\n',cjson.encode(User:where('username','=','cgreen'):where('password','=','7c4a8d09ca3762af61e59520943dc26494f8941b'):get()))
-- {"password":"7c4a8d09ca3762af61e59520943dc26494f8941b","gender":"?","id":99,"username":"cgreen","email":"jratke@yahoo.com"}

ngx.say('orwhere demo:\n',cjson.encode(User:where('id','=','1'):orwhere('id','=','2'):get()))
-- {"password":"7c4a8d09ca3762af61e59520943dc26494f8941b","gender":"?","id":1,"username":"hejunwei","email":"hejunweimake@gmail.com"},
-- {"password":"7c4a8d09ca3762af61e59520943dc26494f8941b","gender":"?","id":2,"username":"ward.antonina","email":"hegmann.bettie@wolff.biz"}

local Admin = Model:new('admins')
local admin = Admin:find(1)
ngx.say('find demo:\n',cjson.encode(admin))
-- {"password":"d033e22ae348aeb5660fc2140aec35850c4da997","id":1,"email":"hejunwei@gmail.com","name":"admin"}
--Admin:update({name='update demo'}):where('id','=','3'):query()
Admin:update({
        name='update test',
        password="111111"
    }):where('id','=',3):query()

Admin:insert({
    id=3,
    password='123456',
    name='horanaaa',
    email='horangeeker@geeker.com',
})

github:nana framework

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这是一个非常易用简单的 web api 框架,采取了一些较好的 php 框架的设计
    • 主要目录结构分为 lib(公共方法),model(数据库相关),controller(由 nginx location 指向的 lua文件也就是控制器)
    • github:nana framework
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档