метод возвращает идентификатор, но не сохраняет другие точки данных - PullRequest
0 голосов
/ 30 октября 2018

Мой метод работает, когда я помещаю значения в новый Farm (), но не когда я запускаю его через почтальон в JSON, который также показан ниже. Я не думаю, что я неправильно анализирую JSON. Любые предложения будут оценены?

export interface IDataFlowService {
handle(request: IDataFlowRequest): Promise<IDataFlowResponse>;

}

export class DataFlowService implements IDataFlowService {

current_env = process.env.NODE_ENV;

 async handle(request: IDataFlowRequest): Promise<IDataFlowResponse> {

    let response: IDataFlowResponse;

    try {


        switch (request.requestType) {
            case "SaveFarms":
                response = await this.SaveFarms(request);
                break;

                default:
                winston.error(`Request failed for request type: ${request.requestType}`);

                break;
        }
        return response;

    } catch (e) {
        winston.error(`handle method failed for request: ${request}`, e);

        response = {
            success: false,
            error: {
                'message': e.message,
            }
        };
        return response;
    }
}

private async SaveFarms(request: IDataFlowRequest): Promise<IDataFlowResponse> {

    const response: IDataFlowResponse = {
        success: true ,
        farmIds: [],
        names: []
       };

for (const farm of request.farms) {

const newFarm: IFarmModel = new Farm();

Promise.all([newFarm.save()]);
response.farmIds.push(newFarm.farmId) ;
response.names.push(newFarm.name) ;

       }


        return response;
    }
}

вот пост: http://localhost:5000/api/dataflow

{
"requestType":"SaveFarms",
"farms": [

  {
  "name" : "Bronx"

   }

   ]
   }

как видите, я получаю ответ, но поле имен возвращается пустым / пустым:

{
"success": true,
"farmIds": [
    "fH1WjllXR"
],
"names": [
    null
]
}

1 Ответ

0 голосов
/ 31 октября 2018

Вы забыли установить name для newFarm объекта:

const newFarm: IFarmModel = new Farm();
newFarm.name = farm.name; // I think so
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...