如何使用 axios.put 发送 JSON 到 ASP.NET 控制器
How to use axios.put to send JSON to ASP.NET controller
我正在尝试使用以下客户端代码发送包含 JSON 数据的 PUT 请求:
const url = new URL(`${process.env.REACT_APP_API}/datas/edit/${id}`);
axios.put(url, data);
而在服务器端,当我试图查看 HttpRequest.Form
时,控制器抛出 InvalidOperationException
异常。消息是 Incorrect Content-Type: application/json;charset=UTF-8
.
[HttpPut("edit/{id}")]
public void Edit([FromRoute] int id, [FromBody] Data data)
...
我也试过 axios.put(url, JSON.stringify(data));
但是服务器 returns 415.
编辑:我尝试使用 Postman 而不是我的前端:
public class A { public int /*or string*/ A1 { get; set; } }
[HttpPut("edit/{id}")]
public void EditQuestion([FromRoute] int id, [FromBody] A a) ...
重要提示:
我不应该查看 HttpRequest.Form,因为我正在发送 JSON 数据,它应该被解析到我的模型中。
我看到邮递员 returns 的 json 回复是一个字符串,而不是你的“A” class 有一个 int 属性 代表 A1。
尝试将 class 更改为:
public class A { public string A1 { get; set; } }
我正在尝试使用以下客户端代码发送包含 JSON 数据的 PUT 请求:
const url = new URL(`${process.env.REACT_APP_API}/datas/edit/${id}`);
axios.put(url, data);
而在服务器端,当我试图查看 HttpRequest.Form
时,控制器抛出 InvalidOperationException
异常。消息是 Incorrect Content-Type: application/json;charset=UTF-8
.
[HttpPut("edit/{id}")]
public void Edit([FromRoute] int id, [FromBody] Data data)
...
我也试过 axios.put(url, JSON.stringify(data));
但是服务器 returns 415.
编辑:我尝试使用 Postman 而不是我的前端:
public class A { public int /*or string*/ A1 { get; set; } }
[HttpPut("edit/{id}")]
public void EditQuestion([FromRoute] int id, [FromBody] A a) ...
重要提示:
我不应该查看 HttpRequest.Form,因为我正在发送 JSON 数据,它应该被解析到我的模型中。
我看到邮递员 returns 的 json 回复是一个字符串,而不是你的“A” class 有一个 int 属性 代表 A1。
尝试将 class 更改为:
public class A { public string A1 { get; set; } }