Я занимаюсь разработкой углового проекта на макетном сервере json-server.GET работает правильно, но теперь у меня возникают некоторые проблемы с POST.
Я определил этот файл interventi.json
со следующими данными:
{
"interventi":[
{
"codice": "123",
"codiceUso": 897,
"dataIntervento": "21-06-2019",
"dataInserimento": "24-06-2019",
"cooperativa": "Example",
"puntoVendita": "Example",
"tipiAttivita": [
"Prelievo",
"Sanzione"
],
"organoCompetente": "Ex"
},
{
"codice": "456",
"codiceUso": 823764,
"dataIntervento": "24-06-2019",
"dataInserimento": "29-06-2019",
"cooperativa": "Example 2",
"puntoVendita": "Example 2",
"tipiAttivita": [
"Prelievo"
],
"organoCompetente": "Ex"
}
]
}
Я пытаюсь опубликовать этот json:
{
"codice":"a7spx",
"codiceUso":"123",
"dataIntervento":"2019-06-21T12:58:09.345Z",
"cooperativa":"2",
"puntoVendita":2,
"tipiAttivita":[
"Attivita 1",
"Attivita 2"
],
"organoCompetente":3,
"dataInserimento":"2019-06-21T12:58:09.345Z"
}
, но это дает мне 500 внутреннюю ошибку сервера:
"Ошибка типа: невозможно прочитать свойство 'id' из неопределенного в Function.createId (C: \ Users \ Marina \coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ json-server \ lib \ server \ mixins.js: 47: 39) в Function.insert (C: \ Users \ Marina \ coop-workspace \wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ lodash-id \ src \ index.js: 47: 49) в C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \wqrng \ node_modules \ lodash \ lodash.js: 4374: 28 at arrayReduce (C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ lodash \ lodash.js: 683: 21) в baseWrapperValue (C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ lodash \ lodash.js: 4373: 14) в LodashWrapper.wrapperValue (C: \ Users \ Marina\ кооп-рабочее пространство \ wqrng \ Web \ SRC \ маиn \ angular \ wqrng \ node_modules \ lodash \ lodash.js: 9052: 14) при создании (C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ json-server \lib \ server \ router \ mult.js: 225: 50) в Layer.handle [как handle_request] (C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ express \lib \ router \ layer.js: 95: 5) в следующем (C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ express \ lib \ router \ route.js:137: 13) в следующем (C: \ Users \ Marina \ coop-workspace \ wqrng \ web \ src \ main \ angular \ wqrng \ node_modules \ express \ lib \ router \ route.js: 131: 14) "
Я следовал этому руководству , чтобы писать, и увидел, что поле id
не является обязательным, но сервер жалуется.Если я добавлю id
поле в моем JSON, он работает правильно.Но я не хочу идентификатора в моих сущностях, есть ли способ отключить это поведение?
EDIT
// Return incremented id or uuid
// Used to override lodash-id's createId with utils.createId
function createId(coll) {
var _ = this;
var idProperty = _.__id();
if (_.isEmpty(coll)) {
return 1;
} else {
var id = _(coll).maxBy(idProperty)[idProperty];
// Increment integer id or generate string id
return _.isFinite(id) ? ++id : nanoid(7);
}
}