• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

    jfinal-rest: jfinal的轻量级RESTful扩展

    原作者: [db:作者] 来自: 网络 收藏 邀请

    开源软件名称:

    jfinal-rest

    开源软件地址:

    https://gitee.com/tai/jfinal-rest

    开源软件介绍:

    #jfinal-restjfinal-rest是jfinal的轻量级RESTful扩展,使用非常方便,看了DEMO就可以用了。

    Config示例代码:

    public class Config extends JFinalConfig {    @Override    public void configConstant(Constants me) {        me.setDevMode(true);        //设置默认渲染json        me.setMainRenderFactory(new IMainRenderFactory() {            @Override            public Render getRender(String view) {                return new JsonRender();            }            @Override            public String getViewExtension() {                return null;            }        });    }    @Override    public void configRoute(Routes me) {        //配置路由,三个参数:访问路径(API版本),jfinal路由对象,要扫描的包(包下加了API注解的controller会被扫描)        RestKit.buildRoutes("/v1", me, "peak.v1");    }    @Override    public void configPlugin(Plugins me) {        //TODO 配置数据库等插件    }    @Override    public void configInterceptor(Interceptors me) {    }    @Override    public void configHandler(Handlers me) {        //配置handler        RestKit.buildHandler(me);    }}

    Controller示例代码:

    @API("/tickets/:ticketId/messages")public class MessageController extends Controller {    /**     * 获取单个数据或者列表     */    public void get() {        //路径里定义的参数变量,需要通过getAttr()方法获取        String ticketId = getAttr("ticketId");        String messageId = getPara();        //GET /v1/tickets/xxxx/messages        if (StrKit.isBlank(messageId)) {            Page<Message> page = null;            //TODO 分页查询message            setAttr("error", 0);            setAttr("data", page);            return;        }        //GET /v1/tickets/xxxx/messages/xxxx        Message message = null;        //TODO 查询单个message数据        setAttr("error", 0);        setAttr("data", message);    }    /**     * 添加新数据     */    public void post() {        //POST /v1/tickets/xxxx/messages        String ticketId = getAttr("ticketId");        Message message = getModel(Message.class);        message.set("ticketId", ticketId);        message.save();        setAttr("error", 0);        setAttr("id", message.getInt("id"));    }    /**     * 部分更新数据     */    public void patch() {        //PATCH /v1/tickets/xxxx/messages/xxxxx        String messageId = getPara();        Message message = Message.dao.findById(messageId);        //TODO 为message设置各个要更新的属性        message.update();        setAttr("error", 0);    }    /**     * 数据整体更新     */    public void put() {        //PUT /v1/tickets/xxxx/messages/xxxxx        int messageId = getParaToInt();        Message message = getModel(Message.class);        message.set("id", messageId);        message.update();        setAttr("error", 0);    }    /**     * 删除数据     */    public void delete() {        //DELETE /v1/tickets/xxxx/messages/xxxxx        String messageId = getPara();        Message message = Message.dao.findById(messageId);        message.delete();        setAttr("error", 0);    }}

    Note:本人已经放弃restful api设计,原因很简单,为了简单!


    鲜花

    握手

    雷人

    路过

    鸡蛋
    该文章已有0人参与评论

    请发表评论

    全部评论

    专题导读
    热门推荐
    阅读排行榜

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap