如何将字符串从Angular传递到.NET Core WebAPI并获取json作为回报?

问题描述

所有人!

我想从前端发送字符串,我使用Angular9。这是代码

const word: string = this.str;
console.log(word);
this.http.post(this.myurl,word)
  .subscribe(data => {
    console.log(data);
    // console.log(this.value)
  });

变量 word 包含字符串(word),该字符串通过发布请求发送到服务器。 This.myurl是URL字符串,由服务器URL组成。 而且我的后端应该接收并计算this(word)字符串。之后,它应该返回json字符串到前面。这是代码

 [HttpPost]
    public async Task<ActionResult<string>> Adding([FromBody] string word)
    {
       
        string json = string.Empty;
       //some calculations with **word** after which I will get dictionary.
        json = JsonConvert.SerializeObject(dictionary);
        
      //some calculations
        return json;
    }

所以,事实是,Angular在控制台中报告415错误。我知道如何在不订阅的情况下发出发布请求,但是我不明白如何在发布请求的Angular中接收json。每次我从服务器获取不同的json字符串(实际上取决于您从前端发送的字符串),因此,我无法为此目的构造静态模型。 无论如何,如果您能帮助我解决这个问题,我将不胜感激。

解决方法

对于那些人,您可能和我有同样的问题,这是解决方案: 首先,谢谢您,亲爱的 Aluan Haddad ,我按照您的提示进行操作,因此,我在后端(Model.cs,仅包含一个 string 属性)中创建了Model,然后,我将此模型的对象作为控制器的参数:

public async Task<ActionResult<ModelWord>> Endings(Model model)
        {
//....
}

作为返回值,该方法只是使用json数据重定向到GET控制器,而我的前端从Get方法(控制器)获取数据。

在Angular中,我也用一个字符串创建了模型。