#json #typescript #nestjs #typeorm
Вопрос:
У меня возникла проблема с преобразованием результата моего объекта после его сохранения в базе данных, потому что я пытался следовать рекомендациям https://jsonapi.org / и преобразуйте мои ответы в стандарт Json.
Реализация, которую я сделал, не самая лучшая. Это:
async findAll() {
const data = new DataResponse<Product>();
return await this.repository.find().then(value => {
data.data = value;
data.isError = false;
data.message = "";
data.statusCode = 1;
return data;
}).catch(e => {
const error: HttpException = e;
data.data = [];
data.isError = true;
data.message = error.message;
data.statusCode = error.getStatus();
return data;
});
}
Мой ответ json у меня такой:
{
"data": {
"id": 1,
"description": "Oreo",
"price": "6.5",
"category": "Oreo",
"stock": 50,
"createDate": "2021-10-28T14:11:47.454Z",
"lastUpdateDate": "2021-10-28T14:11:47.454Z"
},
"message": "",
"statusCode": 1,
"isError": false
}
Комментарии:
1. Что именно вы хотите сделать?
2. Пожалуйста, уточните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Как написано в настоящее время, трудно точно сказать, о чем вы спрашиваете.
3. Альтернатива реализации, которую я делаю в своем сервисе, потому что я думаю, что создание экземпляра объекта типа response каждый раз, когда мне нужно вернуть данные в @Get (), является очень повторяющимся
Ответ №1:
почему бы не создать DTO или инициализировать и объект объекта, например new Product() , а затем присвоить значения, если вы хотите сохранить их в базе данных, а не в строковых объектах JSON ?. это решило бы вашу проблему.