JSON.stringify API returns 415 (.net & angular)

JSON.stringify API returns 415 (.net & angular)

我 运行 在我的 angular 前端到我的 .net API.

的 POST 请求上遇到了一些麻烦

这是前面的代码:

    [...]       
    this.uploadFile(JSON.stringify(jsonobject));
    }

    uploadFile(file)
    {
        this.files.push(file);
        this.uploadService.uploadjsonresponse(file, "JsonFilterResponse").subscribe();
    }

和 post 请求:

    public uploadjsonresponse(file, apiname) {
         return this.httpClient.post(this.SERVER_URL + apiname, file);  
    }

最后是 .net 代码:

    [HttpPost]
    [Route("api/JsonFilterResponse")]
    [RequestSizeLimit(4_000_000_000)]
    [Microsoft.AspNetCore.Cors.EnableCors]
    public IActionResult JsonFilterResponse([FromBody] string jsonresult)
    {
        try
        {
            if (jsonresult != null)
            {
                Response.Body.Flush(); // http response
                return Ok(); // server response
            }
            else
                return NotFound();

        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
            return StatusCode(500, "Internal server error");
        }
    }

Json 对象是正确的(在控制台上检查过),API 地址也是如此。 API 返回一个我似乎无法动摇的 415。如有任何建议,我们将不胜感激!

尝试不使用 [FromBody]

public IActionResult JsonFilterResponse(string jsonresult)

对于那些可能想知道的人,我找到了答案!替换:

[FromBody] string jsonresult

[FromBody] JsonElement jsonresult

并使用

var json = System.Text.Json.JsonSerializer.Serialize(jsonresult);

解读结果!