2 ms·
IMO the serializers should be their own standalone classes/modules which live separately from your application’s core types. You can invoke them when you need
by ninkendo 8y ago
IMO the serializers should be their own standalone classes/modules which live separately from your application’s core types. You can invoke them when you need to do the serialization and keep parallel versions of them for legacy clients, etc.
ActiveModel::Serializers work like this in Rails, although I haven’t tried any similar approaches in statically-typed languages where protobuf is so commonly used.
- aldarn 8y agoFor Python there's Marshmallow (https://github.com/marshmallow-code/marshmallow https://github.com/marshmallow-code/marshmallow) and Django REST Framework if you're using Django (http://www.django-rest-framework.org/api-guide/serializers/ http://www.django-rest-framework.org/api-guide/serializers/). Both of these work as you described.
- SamReidHughes 8y agoSerializers are just functions. Why do they need to be classes?