Archer-Framework- RESful 风格轻量级 Web 服务框架

网友投稿 690 2022-10-26

Archer-Framework- RESful 风格轻量级 Web 服务框架

Archer-Framework- RESful 风格轻量级 Web 服务框架

概述

archer-framework是一个旨在构建RESful风格WEB服务的轻量级框架。

主要特点

采用面向服务的设计,服务端提供的API可以为PC WEB端、移动端、微信公众号等不同的客户端提供服务。 易于构建前后端分离的应用,客户端和服务端通过服务端对外暴露的RESful API 进行交互,服务端开发人员可以专注于业务逻辑的开发,而客户端开发人员则可以采用自己熟悉的语言来做界面展现。 第三方系统可以方便的调用服务端提供的API,服务端提供的API不仅可以为内部产品进行服务,还可以为第三方系统提供服务。 多种安全策略保障服务的安全性。包括IP控制、UA控制、第三方系统接口调用频率、范围等多种安全策略。 框架采用分模块的设计,扩展性良好,框架使用者可以根据具体的应用场景进行模块的组合以及自定义。 框架内置多种服务,并且大部分都是可选和可配置的。如:安全服务、文件服务、缓存服务、EXCEL导出、短信发送服务、接口测试支持等。 这是一个框架,不是一个所谓的包含用户管理、角色管理、任务调度、流程管理,包含界面的快速开发平台或者说后台管理系统。

代码示例

Entity定义

@Entitypublic class User extends BaseEntity{    public static final Find find = new Find(User.class);    @Id    private String id;    private String name;    private Integer age;    public String getId() {        return id;    }    public User setId(String id) {        this.id=id;        return this;    }    ...}

查询

public ExecuteResult findList(String name , Integer age){        return success(User.find.query()                .where()                .eq("name", name)                .ge("age", age)                .order("name")                .findList()        );}// 返回的JSON数据{  resultCode: "SUCCESS",  resultMsg: "执行成功",  resultCodeExt: null,  resultData: [    {      name: "archer",      age: 28    },    {      name: "framework",      age: 30    }  ]}

分页查询

public ExecuteResult findPagedList(Integer pageIndex, Integer pageSize,String name ,Integer age){        return success(            findPagedList(pageIndex, pageSize, User.find.query()                .where()                .eq("name", name)                .ge("age", age)                .order("name")        );}

新增/保存

public ExecuteResult store(String name , Integer age){    return success(        new User()            .setName(name)            .setAge(age)            .store()    );}

删除

public ExecuteResult delete(String id){    return success(        new User()            .setId(id)            .logicalDelete()    );}public ExecuteResult delete(User user){    return success(        user.logicalDelete()    );}

接口测试用例

static String BASE_URL = "/api/v1/internal/system/user/";@Test public void store() {   post(BASE_URL + "store")            .form("name", "archer")            .form("age", 20)            .sign()            .send()            .toString();}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用Windbg静态分析dump文件(实战经验总结)
下一篇:用户身份标识与账号体系实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~