好久没写啥了。来水个短文。
公司主要在用 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,可以么?
额,暂时不会……学会了再来水文哈。
发表回复