перевод переменной из углового в c # web api - PullRequest
0 голосов
/ 02 октября 2019

У меня есть отправляющая переменная с функцией post

  someFunction(param) {
    console.log("someFunction> "+param);
       return this.http.post(appSettings.BackEndUrl + '/test/someFunc',param);     
    }

console.log показывает

someFunction> 10

В бэкэнде у меня есть

public async Task<Object> someFunc(string ttt)
{
    WriteLog("someFunc.txt", "start > "+ttt);

В журнале я вижу

start>

, даже если я изменяю строку на int

public async Task<Object> someFunc(int ttt)
{
    WriteLog("someFunc.txt", "start > "+ttt);

Я все еще вижутолько

начало> 0

Как я могу это решить?

Ответы [ 3 ]

1 голос
/ 02 октября 2019

Попробуйте добавить его в качестве строки запроса. Изменить следующим образом:

someFunction(param) {
console.log("someFunction> "+param);
   return this.http.post(appSettings.BackEndUrl + '/test/someFunc?ttt='+param);     
}
0 голосов
/ 02 октября 2019

если вы используете ASP.NET Core 2.1+, просто используйте атрибут [ApiController], чтобы автоматически определить источник привязки [FromBody].

0 голосов
/ 02 октября 2019

Я не совсем уверен, является ли это функцией .Net, но я помню, что использовал аннотацию [FromBody] перед параметром, который вы хотите получить из тела запроса. Кроме того, ваш параметр должен иметь одно и то же имя в front- и backend.

В вашем случае это будет выглядеть примерно так:

public async Task<Object> someFunc([FromBody] int param)

Я лично не хотел бы добавлять его в ваш URL, так как снекоторые данные, которые вы определенно не хотите иметь там.

...