我的http请求正文参数没有绑定到我的api。这是我的api,我试图不使用类之类的任何复杂参数直接绑定主体。
public async Task<Object> RejectRequest([FromBody] int RequestId, string
Reason){
}
这是我的http请求:-
rejectRequest(data): any {
var body = JSON.stringify(data);
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': `Bearer ${localStorage.getItem('token')}`
}),
responseType: 'text' as 'text'
};
return this.http.post('/api/Dashboard/RejectRequest',body, httpOptions)
}
我的身体要求是:-
{
"requestid":"45",
"reason":"dfgsdf"
}
答案 0 :(得分:2)
问题是,在UI中,您将JSON对象作为主体发送,但是在API中,您将其作为2个不同的参数接收。
如果您要通过ui使用httpParams发送参数,则可以使用[FromQuery]将其绑定到api
因此,您可以在API中添加新模型并更改API方法,如下所示,
public class MyClass
{
public string RequestId { get; set; }
public string Reason { get; set; }
}
public async Task<Object> RejectRequest([FromBody]MyClass MyObj){
//Your code...
}