Я пытаюсь реализовать принципы DDD / чистой архитектуры в небольшом REST-сервисе.У меня есть класс задачи:
@attr.s
class Task:
id: str = attr.ib()
url: str = attr.ib()
images_paths: Optional[List[str]] = attr.ib(default=None)
text_path: Optional[str] = attr.ib(default=None)
И мне нужно два метода сериализации JSON.Мне нужен один, чтобы иметь возможность сохранить объект json в mongodb, а затем получить его в том же состоянии.Поэтому я хочу, чтобы json выглядел следующим образом:
{'id': '1', 'url': 'aaa.com', 'images_paths': ['img.png'], text_path: 'text.txt'}
И еще один, который будет выводом json из REST API
{'id': '1', 'url': 'aaa.com', 'images_paths': ['localhost/tasks/1/images/img.png'], text_path: 'localhost/tasks/1/text/text.txt'}
И в соответствии с принципами DDD, я полагаю, что оба являются сериализацией jsonметоды и должны быть на уровне инфраструктуры, я прав?Правильны ли они с точки зрения DDD?Как они должны называться, так ли это делают json сериализация?
И я также не уверен насчет тестов.Популярным тестом для сериализации является:
assert task_from_json(task_to_json(task)) == task
Но я не могу сделать такой тест для JEST-случая REST API