无法使用Angular 7,.net core 2.2从HttpClient POST方法获取响应

时间:2019-01-08 02:31:30

标签: c# angular angular-httpclient

我正在后端使用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

从控制台

问题。 我该如何进行这项工作?

0 个答案:

没有答案