簡體   English   中英

如何在typeorm和nest.js中返回插入的數據

[英]How to return inserted data in typeorm and nest.js

我可以通過Post方法插入以下 json 數據。

{
"userId":1,
"title":"mytest",
}

我想將此data返回給client

這是我的controller

@Controller('event')
export class EventController {
  constructor(private readonly eventService: EventService) {}

  @Post()
  createEvent(@Body() param: EventRequest) {
    return this.eventService.createEvent(param);
  }
}

以下是我的service

@Injectable()
export class EventService {
  constructor(private readonly eventRepository: eventRepository) {}
  async createEvent(eventParam: EventRequest): Promise<InsertResult> {
    const event = new Event();
    Object.entries(eventParam).forEach(param => {
      event[param[0]] = param[1];
    });
    try {
      return this.eventRepository.insert(event);
    } catch (error) {
      throw new InternalServerErrorException();
    }
  }
}

在我看來,在遵循之后必須插入一些代碼。

return this.eventRepository.insert(event);

現在它返回了以下數據。 似乎不是身體數據。

{
    "identifiers": [
        {
            "id": 15
        }
    ],
    "generatedMaps": [
        {
            "id": 15,
            "createdAt": "2020-10-05T12:36:51.091Z",
            "updatedAt": "2020-10-05T12:36:51.091Z",
            "deletedAt": null
        }
    ],
    "raw": {
        "fieldCount": 0,
        "affectedRows": 1,
        "insertId": 15,
        "serverStatus": 2,
        "warningCount": 0,
        "message": "",
        "protocol41": true,
        "changedRows": 0
    }
}

我想要的結果如下, id是自動增量列。

{
id: events.id,
userId: events.userid,
title: events.title
}

有什么信息嗎? 有什么方法可以實現這一目標嗎?

如果有人有意見,請告訴我。

謝謝

您是否使用 此處的 Nest.js 文檔中提到的存儲庫模式

我建議你應該嘗試一下。 我能夠得到所需的回應。 查看 Nest.js GitHub 上給出的示例。

GitHub 倉庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM