thrift-generator 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
thrift-generator 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
thrift-generator 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 harleyliao
适用人群 未知
收录时间 2015-06-26

软件简介

thrift-generator 是通过 Java 的接口生成 thrift 文件的工具。

例子:

public interface ICommonUserService {

    public User login(int id, String name);

    public User getUserById(long id);

    public boolean saveUser(User user);

    public List getUserIds(long id); 

    public Map getUserByIds(List ids);

    public Map> getUsersByName(List names);

    public Map> getGroupUsers(List names, List userList, List lns, long ll);

    public List testCase1(Map num1, List num2, List num3, long num4, String num5);
}
public class ThriftFileBuilderTest {

    private ThriftFileBuilder fileBuilder = new ThriftFileBuilder();

    @Test
    public void toOutputstream() throws Exception {
        this.fileBuilder.buildToOutputStream(ICommonUserService.class, System.out);
    }

}

执行代码:

mvn test -Dtest=com.sohu.thrift.generator.builder.ThriftFileBuilderTest

之后控制台输出如下:

namespace java com.sohu.thrift.generator.test.thrift

    enum Status {
            NORMAL = 0,
            BLOCKED = 1
    }

    struct Account {
            1:i32 id,
            2:string name
    }
    struct User {
            1:i32 id,
            2:string name,
            3:bool sex,
            4:Status status,
            5:list ids,
            6:Account account
    }

    service ICommonUserService {
            User login(1:i32 arg0,2:string arg1),
            map> getUsersByName(1:list arg0),
            bool saveUser(1:User arg0),
            map getUserByIds(1:list arg0),
            list getUserIds(1:i64 arg0),
            map> getGroupUsers(1:list arg0,2:list arg1,3:list arg2,4:i64 arg3),
            User getUserById(1:i64 arg0),
            list testCase1(1:map arg0,2:list arg1,3:list arg2,4:i64 arg3,5:string arg4)
    }
展开阅读全文

代码

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2017/12/11 13:31

thrift-generator 0.1 发布,通过 Java 接口生成 Thrift 文件工具

这是一个通过java的接口生成thrift文件的工具, 这个代码库的时间悠久, 已经有5年历史了, 当时写这个工具主要两个目的: 没接触thrift,但是希望使用thrift的用户,可以便于新用户的理解 之前用的是rmi,之后想转成thrift的用户 具体使用可以参考https://github.com/hongliuliao/thrift-generator 本次发布主要更新了以下几个功能 支持接口中的注释 支持自定义异常 保证生成的thrift方法和java文件中定义的方法顺序一致(不使用反射)...

3
27
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
org.freemarker:freemarker 存在代码注入漏洞
代码注入
org.freemarker:freemarker 是一个“模板引擎”;基于模板生成文本输出(从 HTML 到自动生成的源代码的任何内容)的通用工具。此软件包的受影响版本容易受到服务器端模板注入 (SSTI) 的攻击。通过允许用户输入 java.security.ProtectionDomain.getClassLoader,模板将可以访问 java 类加载器。这可以进一步用于文件系统访问和代码执行。低权限用户足以利用此漏洞。
MPS-2022-12438
2022-08-08 21:01
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
22 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部