我想向数据库发出发布请求以推送表保留。我的请求状态为200。
这是我在postReservation
中的reservation.controller.ts
方法:
postReservation(reservation): void {
console.log('postReservation', reservation, 'restaurantId', reservation.RestaurantID);
this.reservationService.postReservation(
new RequestObject({
data: reservation,
onSuccess: (result: Array<Reservation>) => {
this.data.results = result;
console.log('postReservation succes', result);
// TODO show succes alert
}
})
);
}
这是Reservation.service.ts,它将由Abstractservice
postReservation(requestObject = new RequestObject) {
this.httpPost(this.apiUrl + 'tableReservation', requestObject,
(data) => {
console.log('succes', data.data, requestObject.data);
// Combine succes data with reservation data - To merge reservationCode into current obj
const reservation = { ...requestObject.data, ...data.data };
requestObject.onSuccess(new Reservation(reservation));
}, (err) => {
requestObject.onFail(err);
});
}
上面的this.httpPost
将在我的abstract.service.ts
中调用httpPost方法
httpPost(url, requestObject = new RequestObject, onSuccess = (resp) => {}, onFail = (err) => {}) {
letbody = requestObject.options.bodyType === 'json' ? requestObject.getStringifiedBody() : requestObject.data;
let headers = requestObject.headers ? requestObject.headers : null;
return this.http.post(url, body, {headers: headers, params: requestObject.getQueryParams()})
.pipe(
map(response => response),
catchError(this.handleError)
).subscribe(
(resp) => {
if (requestObject.loader) this.globalService.onHideLoader.emit(requestObject.loaderId);
console.log('httpPost SUCCES', resp);
onSuccess(resp);
requestObject.onDone(resp);
},
(err) => {
if (requestObject.loader) this.globalService.onHideLoader.emit(requestObject.loaderId);
// Execute own errorHandling when response has no errorHandling
// if (!requestObject.hasErrorHandling) this.onError(err);
requestObject.onDone(err);
onFail(err);
}
);
}
所以我的状态为200,但是当我致电以获取所有预订时,预订不会弹出。但是,当我从邮递员那里拨打完全相同的电话时,会弹出相同的数据。