我正在后端使用Angular和ASP.NET Core创建CRUD方法的非常基本的实现。
后端工作正常,但在重定向操作后无法获得响应。 让我带上代码:
C#控制器位:
[HttpPost]
[ProducesResponseType(200, Type = typeof(IActionResult))]
public async Task<ActionResult<CapCustomerResponseDto>> CreateCustomer([FromBody] CreateCustomerRequestDto request)
{
try
{
///. .. *creating command*
await _createCustomercommandHandler.Execute(command);
return CreatedAtRoute("GetCapCustomer", new { id = command.Id.ToString() }, command);
}
catch (Exception e)
{
// Some custom handling
}
}
因此,最后我们有了神奇的 CreatedAtRoute()方法,该方法重定向到get控制器
Angular 7 httpClient实现
addCustomer(customer): Observable<Customer> {
return this.http.post<Customer>(apiUrl, customer, httpOptions).pipe(
tap((customer: Customer) =>
console.log(`added customer w/ id=${customer.customerId}`)
),
catchError(this.handleError<Customer>("addCustomer"))
);
}
实际上什么也不返回。 正确添加了我的客户,我可以在数据库中看到它。当使用摇摇欲坠时,我可以看到控制器正在工作。即使在网络监视器中。 但是我不知道如何将新创建的客户响应检索到我的TS类中
相反,我得到了:
Error: The requested path contains undefined segment at index 1
从控制台
问题。 我该如何进行这项工作?