好久没写啥了。来水个短文。
公司主要在用Thrift。但有时候也需要提供HTTP服务。一般做法是起个Flask,然后转发一下请求。
这都没啥问题。最关键的问题是……我懒。
怎么说呢,一般来说从前面传来的参数比较少,我可以手动填值到Thrift的request里;但是返回值巨多,这时候再让我手动构造Json我就不乐意了。
好在ThriftPy2提供有一个函数,可以秒秒钟解决这个问题。下面是做法:
首先导入包
import thriftpy2.protocol.json as proto
然后正常构造请求和拿到返回值
rsp = client.DoSomething(req)
下面最关键的一步来了:直接把rsp
转换成一个json
json_data = proto.struct_to_json(rsp)
嗯好了,尽情享用吧。
有人问啊,那逆向操作,就是拿到个完整的json,给转成Request或者Response,可以么?
额,暂时不会……学会了再来水文哈。
发表回复