#c# #asp.net #angular
#c# #asp.net #угловой
Вопрос:
Я пытаюсь обновить объект в моем бэкэнде. Я создал этот внутренний метод
// PUT: api/Appointment/5
/// <summary>
/// Modifies an appointment
/// </summary>
/// <param name="appointmentId">id of the appointment to be modified</param>
/// <param name="start">Start of appointment</param>
/// <param name="end">End of appointment</param>
[HttpPut("{appointmentId}")]
public IActionResult PutAppointment(int appointmentId, string start)
{
if(start == null) {
Console.WriteLine("null");
}
Но мой начальный параметр, который я возвращаю из своего приложения angular, всегда равен нулю.
Это мой метод angular:
updateAppointment(
appointmentId:number, start: string
): Observable<any>{
console.log(start);
const params = new HttpParams()
.set('start', start);
return this.http.put(
`${environment.apiUrl}/appointment/${appointmentId}`,
{params},
{ responseType: "text"})
}
Я пробовал несколько вещей, но все они возвращают start с нулевым значением. Я регистрирую его на консоли в своем приложении angular, и там оно выдает правильное значение строки, но в моем бэкэнде (asp net) оно всегда равно null.
Кто-нибудь знает, как я могу это исправить?
Комментарии:
1. Является
HttpParams
ли тело?[FromBody] string start
В этом случае вам придется использовать.2. Вторым параметром запроса put должно быть тело запроса. Параметры запроса должны быть частью третьего параметра.