一个通过java的接口生成thrift文件的工具
2016-07-19 11:29
483 查看
一个通过java的接口生成thrift文件的工具
博客分类: java
thrift
很早之前写的一个工具,面向的用户主要有两种
1.没接触thrift,但是希望使用thrift的用户,可以便于新用户的理解
2.之前用的是rmi,之后想转成thrift的用户
example
public interface ICommonUserService { public User login(int id, String name); public User getUserById(long id); public boolean saveUser(User user); public List<User> getUserIds(long id); public Map<Long, User> getUserByIds(List<User> ids); public Map<String, List<User>> getUsersByName(List<String> names); public Map<Long, List<Long>> getGroupUsers(List<String> names, List<User> userList, List<Long> lns, long ll); public List<String> testCase1(Map<Integer,String> num1, List<User> num2, List<String> num3, long num4, String num5); }
public class ThriftStructBuilderTest { private ThriftFileBuilder fileBuilder = new ThriftFileBuilder(); @Test public void toOutputstream() throws Exception { this.fileBuilder.buildToOutputStream(ICommonUserService.class, System.out); } }
执行之后会在控制台输入如下:
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<i64> ids, 6:Account account } service ICommonUserService { User login(1:i32 arg0,2:string arg1), map<string, list<User>> getUsersByName(1:list<string> arg0), bool saveUser(1:User arg0), map<i64, User> getUserByIds(1:list<User> arg0), list<User> getUserIds(1:i64 arg0), map<i64, list<i64>> getGroupUsers(1:list<string> arg0,2:list<User> arg1,3:list<i64> arg2,4:i64 arg3), User getUserById(1:i64 arg0), list<string> testCase1(1:map<i32, string> arg0,2:list<User> arg1,3:list<string> arg2,4:i64 arg3,5:string arg4) }
项目地址: https://github.com/hongliuliao/thrift-generator
相关文章推荐
- jms之activeMQ与spring集成进阶-实现一种负载均衡
- Spring4.x官方参考文档中文版——第21章 Web MVC框架(21)
- Java初始化顺序
- 白菜之hashCode()方法重写及不同数据类型调用hashCode的方法
- 深入Final关键字
- Servlet异常处理
- spring笔记——Ioc控制反转
- Java集合中Comparator和Comparable接口的使用
- 使用JDK实现动态代理
- Eclipse 重新定位svn资源库报错
- Thinking in Java之静态数据初始化顺序
- SVN与Eclipse安装和使用
- Java常用的工具类一
- spring 注解
- JAVA ActiveMQ
- Java @Deprecated注解的作用及传递性
- spring 防sql注入
- javaweb回顾第四篇Servlet异常处理
- 把Java程序打包成jar文件包并执行
- Spark 官方文档(4)——Configuration配置