this method is passed a json serializer which is then not used. a bit funny indeed. defining serialization on the model would have the benefit of being more flexible, but risk that we have inconsistencies. and the url can't be simply serialized, we need custom code for that.