Тело углового Http-запроса не привязано к параметрам примитива .net core webapi - PullRequest
0 голосов
/ 26 июня 2019

Мои угловые параметры тела http-запроса не привязаны к моему API.Это мой API, который я пытаюсь привязать к телу напрямую, без использования какого-либо сложного параметра, такого как class.

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"
}

1 Ответ

2 голосов
/ 26 июня 2019

Проблема в том, что из пользовательского интерфейса вы отправляете объект JSON в качестве тела, но в API вы получаете его как 2 разных параметра.

Если вы отправляете параметры с помощью httpParams из пользовательского интерфейса, вы можете связать его с API, используя [FromQuery]

Таким образом, здесь вы можете добавить новую модель в 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...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...