【发布时间】:2020-09-15 22:59:23
【问题描述】:
我正在尝试向 web-api 控制器发出一个简单的发布请求,其中正文中有一个字符串,而不是一个对象。我设法从邮递员那里调用它,没有任何问题,并且设置如下: 网址类似于: http:///api//?id=111 Body (raw) 有一个简单的字符串,例如:“aaa”,它被定义为 JSON。 这是我的代码(忽略错别字 - 它是手写的): 这是 web-api 控制器:
[Route("Update")]
[HttpPost]
public bool UpdateData([FromQuery] int id, [FromBody] string content)
{
DoAomwthing();
}
这是我的角码:
updateData(id :number, content : string) : Observable<boolean>
{
const httpOptions =
{
headers: new HttpHeaders({'Content-Type':'application/json'}),
params: new HttpParams().set('id', '1')
}
return this.httpClient.post<boolean>(<some base url> + 'UpdateData', content, httpOptions);
}
我做错了什么?
【问题讨论】:
-
您的内容类型是
application/json,但您发送的是字符串?我不认为你可以发布一个字符串,你不应该发送一个对象吗?我也不会把 id 放在查询的形式中,而是作为路由的一部分而不是[Route("Update/{id}")]然后更改方法读取为UpdateData([FromRoute] int id...
标签: angular http-post content-type