When implementing services using SimpleIO that return data returning the result of a query through SQLAlchemy in which there is at least one field that is a UUID, if you want to return a JSON you get into trouble because it’s not a type that is JSON-serializable:
TypeError: UUID('fea602c9-bc4d-432a-ad57-74d88416c04b') is not JSON serializable
I have tried using the Unicode() type conversion but I just get a different error:
AttributeError: 'UUID' object has no attribute 'decode'
Can you open a ticket in GH for it? Once I complete the SimpleIO rewrite, there will be documentation on how to add custom elements.
If you are fine with checking out the internals then you can give it a try today, you just need to subclass zato.server.service.ForceType and implement method to_json - perhaps looking at how Int, Bool or List do it will be the gentlest guide.
I am having very little time these last weeks to keep trying and testing my Zato prototype, but I’ll see if I can find the moment and give it a try, as I’ll be glad to help.