Archer-Framework 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Archer-Framework 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Archer-Framework 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Archer-Framework 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Archer-Framework 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
投 递 者 echrist
适用人群 未知
收录时间 2016-09-12

软件简介

概述

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

主要特点

  1. 采用面向服务的设计,服务端提供的API可以为PC WEB端、移动端、微信公众号等不同的客户端提供服务。

  2. 易于构建前后端分离的应用,客户端和服务端通过服务端对外暴露的RESful API 进行交互,服务端开发人员可以专注于业务逻辑的开发,而客户端开发人员则可以采用自己熟悉的语言来做界面展现。

  3. 第三方系统可以方便的调用服务端提供的API,服务端提供的API不仅可以为内部产品进行服务,还可以为第三方系统提供服务。

  4. 多种安全策略保障服务的安全性。包括IP控制、UA控制、第三方系统接口调用频率、范围等多种安全策略。

  5. 框架采用分模块的设计,扩展性良好,框架使用者可以根据具体的应用场景进行模块的组合以及自定义。

  6. 框架内置多种服务,并且大部分都是可选和可配置的。如:安全服务、文件服务、缓存服务、EXCEL导出、短信发送服务、接口测试支持等。

  7. 这是一个框架,不是一个所谓的包含用户管理、角色管理、任务调度、流程管理,包含界面的快速开发平台或者说后台管理系统。


代码示例

Entity定义

@Entitypublic class User extends BaseEntity{
    public static final Find<User> find = new Find<User>(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();}

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
沙发提问:目前有生产环境在用吗? #Archer-Framework#
2016/09/12 17:42
回复
举报
更多评论
发表了资讯
2016/09/12 00:00

archer-framework 1.0,RESful风格Web服务框架

archer-framework 1.0 发布了。archer-framework是一个旨在构建RESful风格WEB服务的轻量级框架。 主要特点 采用面向服务的设计,服务端提供的API可以为PC WEB端、移动端、微信公众号等不同的客户端提供服务。 易于构建前后端分离的应用,客户端和服务端通过服务端对外暴露的RESful API 进行交互,服务端开发人员可以专注于业务逻辑的开发,而客户端开发人员则可以采用自己熟悉的语言来做界面展现。 第三方系统可以方便的调用服务...

22
109
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/01/07 11:02

archer 安装

archer 项目地址: https://github.com/jly8866/archer 安装docker版本 yum install docker-ce systemctl start docker Pull Docker docker pull hhyo/archer 启动服务 docker run --name archery -v /Users/apbc/Works/code/archer/archer/settings.py:/opt/archer/archer/settings.py -e NGINX_PORT=9123 -p 9123:9123 -dti hhyo/archer 查看 docker id ,使用命令 docker ps 初始化 docker exec -ti f79c5d9ade72 /bin/bash c...

0
0
发表了博客
2018/06/13 14:24

archer运维相关问题

1.字符集支持 inception_support_charset=utf8,utf8mb4 #表示在建表或者建库时支持的字符集,如果需要多个,则用逗号分隔,影响的范围是建表、设置会话字符集、修改表字符集属性等 2.备份权限问题 调整备份服务器相关用户权限及网络入口 mysql> grant all privileges on *.* to root@'localhost' identified by 'incpbak'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to root@'zabbix' identif...

0
0
发表了博客
2018/07/27 11:47

Linux~Archer 进化之路

使用过的linux系统有:Redhat、红旗Linux、Deepin、Ubuntu、Debian、Fedora、Kali、Parrot、manjaro、Mint、Arch,最早接触linux是从2004年,当时购买的台式机附赠了一张红旗linux安装盘,后来试了一下,系统还是挺招人喜欢,内存占用也小,后来厌倦了Windows的更新,各种软件弹出及病毒的侵扰。还曾买过一本Redhat教程,当时这本书厚如字典,不明其理的买了,实用性真的有限,但也是通过这本书对linux有了初步了解,并慢慢开始...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
39 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部