C# http.put中的参数始终为空
我正在尝试更新后端中的对象。我已经创建了这个后端方法C# http.put中的参数始终为空,c#,asp.net,angular,C#,Asp.net,Angular,我正在尝试更新后端中的对象。我已经创建了这个后端方法 // PUT: api/Appointment/5 /// <summary> /// Modifies an appointment /// </summary> /// <param name="appointmentId">id of the appointment to be modified</param
// 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");
}
//PUT:api/Appointment/5
///
///更改约会
///
///要修改的约会的id
///预约开始
///任期结束
[HttpPut(“{appointmentId}”)]
公共IActionResult PutAppointment(int appointmentId,字符串开始)
{
if(start==null){
控制台。写入线(“空”);
}
但是我从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"})
}
updatePoint(
任命ID:编号,开始:字符串
):可见{
console.log(启动);
const params=新的HttpParams()
.set('start',start');
返回this.http.put(
`${environment.apiUrl}/appointment/${appointmentId}`,
{params},
{responseType:“text”})
}
我尝试了多种方法,但所有方法都返回空值start。我将其记录到angular应用程序的控制台,在那里它给出了正确的字符串值,但在我的后端(asp net)中,它始终为空
有人知道我如何解决这个问题吗?是
HttpParams
主体吗?在这种情况下,您必须使用[FromBody]字符串start
。请求的第二个参数应该是请求的主体。查询参数应该是第三个参数的一部分。