Angular 7 отправляет два или более параметров на сервер ASP.NET - PullRequest
0 голосов
/ 23 апреля 2019

Я новичок в Angular, я использую Angular 7 на стороне клиента и ASP.NET на стороне сервера.

Я хочу передать более 2 параметров.Мне удалось отправить один параметр.

Вот мой метод службы Angular, который отправляет 2 параметра:

validate_user(user : Users, active: boolean): Observable<UsersError> {
    console.log(user);

    return this.http.post<UsersError>(this.users, user, active);
}

Вот мой метод публикации ASP.NET:

public UsersError Post([FromBody] sp_GetUsers_Result user, bool active)
{
        UsersError u = new UsersError
        {
            UserName = "Username Invalid",
            Password = "Password Invalid"
        };

        return u;
}

Я знаю, что могу обернуть параметры в объект и отправить его как один, но я хочу знать, есть ли способ сделать это с двумя или более параметрами (объектами).

Я пытался использовать HttpParams с различными комбинациями, но ничего не получалось.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019
BundleTypeAttributeView(users: string, Active: boolean, ): Observable<any> {
    const params = new HttpParams().set('users', users).set("Active", Active);
    return this.http.get<any>(this.endPoint + 'bundleTypeAttributes', { params });
}
0 голосов
/ 23 апреля 2019

Третий параметр в .post равен httpOptions:

Пример:

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
    'Authorization': 'my-auth-token'
  })
};

Так что вам нужно изменить эту строку:

return this.http.post<UsersError>(this.users, user, active);

active следует отправить как параметр

Относительно asp.net: отправка / публикация должны соответствовать объекту в контроллере.

Asp.net примет параметры тела и попытается сопоставить их с аргументом контроллера (fromBody). Вы не можете смешать это с другим аргументом (*).

Короче говоря, вам нужно добавить active к новой модели на сервере.

* Можно, но для этого потребуются другие хаки - как я построил: https://github.com/RoyiNamir/SimplePostVariableParameterBindingExtended

...