loopback преобразует дату как строки в Date, как это предотвратить - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть soap служба, возвращающая дату и время (чтобы проверить оптимизацию c блокировка позже), это то, что я получаю, если я вызываю службу soap в почтальоне

            <ns2:outcomes>
                <ns2:outcomeId>18743</ns2:outcomeId>
                <ns2:outcomeName>sadfagdadg</ns2:outcomeName>
                <ns2:channelsId>4</ns2:channelsId>
                <ns2:createdBy>tstsdm01</ns2:createdBy>
                <ns2:createdTimestamp>2020-02-20T10:22:55.035222000-05:00</ns2:createdTimestamp>
                <ns2:editedBy>tstsdm01</ns2:editedBy>
                <ns2:editedTimestamp>2020-02-20T10:22:55.035222000-05:00</ns2:editedTimestamp>
                <ns2:status>ACT</ns2:status>
            </ns2:outcomes>

Затем я сгенерировал модель по lb soap и это модель

{
  "name": "OutcomeType",
  "base": "Model",
  "idInjection": false,
  "options": {
    "validateUpsert": true
  },
  "forceId": "false",
  "excludeBaseProperties": [
    "id"
  ],
  "properties": {
    "outcomeId": {
      "type": "number"
    },
    "outcomeName": {
      "type": "string"
    },
    "channelsId": {
      "type": "number"
    },
    "listOrder": {
      "type": "number"
    },
    "createdBy": {
      "type": "string"
    },
    "createdTimestamp": {
      "type": "string"
    },
    "editedBy": {
      "type": "string"
    },
    "editedTimestamp": {
      "type": "string"
    },
    "status": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

Затем я вызываю ту же конечную точку, что и REST api через loopback. Я получаю

        {
            "outcomeId": 18743,
            "outcomeName": "sadfagdadg",
            "channelsId": 4,
            "createdBy": "tstsdm01",
            "createdTimestamp": "2020-02-20T15:22:55.035Z",
            "editedBy": "tstsdm01",
            "editedTimestamp": "2020-02-20T15:22:55.035Z",
            "status": "ACT"
        },

точность даты изменяется Я просто хочу обрабатывать значение как строку, а не как datetime

1 Ответ

0 голосов
/ 24 февраля 2020

В случае, если у кого-то еще есть такая же проблема

В библиотеке strong-soap есть код, и он работает по контракту типа name в файле wsdl (url)

enter image description here

Поэтому, если имя типа date или time или dateTime, оно преобразуется в javascript Date, не имеет значения, какой тип данных вашей модели .

Чтобы решить, что я скачал wsdl с url и сохранил его в проекте, я изменил dateTime на string в загруженном файле.

В моем datasources.json

  "outcome": {
    "url": "http://localhost:8080/gateway-ws/services/outcome-v1",
    "name": "outcome",
    "wsdl": "server/wsdl/outcome-v1.wsdl.xml",
    "remotingEnabled": true,
    "connector": "soap"
  },
...