Замена = вход в параметры запроса в угловом http-клиенте - PullRequest
0 голосов
/ 01 июля 2019

Я использую сервис http angular для запроса моего бэкэнда.

parmas = {foo:'bar'};
this.http.http.get(`${this.actionUrl}${this.ENTITY_ENDPOINT}`,{params:parameters}).subscribe(...);

это создает запрос с параметрами запроса / что-то? Foo = bar.Мне интересно, могу ли я как-то заменить угловое использование знака = на: EQ: в параметрах запроса.

1 Ответ

0 голосов
/ 01 июля 2019

Методы HttpClient позволяют вам устанавливать параметры в его параметрах.

Вы можете настроить его, импортировав HttpClientModule из пакета @angular/common/http.

import {HttpClientModule} from '@angular/common/http';

@NgModule({
  imports: [ BrowserModule, HttpClientModule ],
  declarations: [ App ],
  bootstrap: [ App ]
})
export class AppModule {}
After that you can inject the HttpClient and use it to do the request.

import {HttpClient} from '@angular/common/http'

@Component({
  selector: 'my-app',
  template: `
    <div>
      <h2>Hello {{name}}</h2>
    </div>
  `,
})
export class App {
  name:string;
  constructor(private httpClient: HttpClient) {
    this.httpClient.get('/url', {
      params: {
        appid: 'id1234',<------*****
        cnt: '5'<------*****
      },
      observe: 'response'
    })
    .toPromise()
    .then(response => {
      console.log(response);
    })
    .catch(console.log);
  }
}

Для угловых версий до версии 4 вы можете сделать то же самое, используя службу Http.

Метод Http.get принимает объект, который реализует RequestOptionsArgs, в качестве второго параметра.

Поле поиска этого объекта можно использовать для установки строки или объекта URLSearchParams.

Пример:

// Parameters obj-
 let params: URLSearchParams = new URLSearchParams();<------*****
 params.set('appid', StaticSettings.API_KEY);<------*****
 params.set('cnt', days.toString());<------*****

 //Http request-
 return this.http.get(StaticSettings.BASE_URL, {
   search: params
 }).subscribe(
   (response) => this.onGetForecastResult(response.json()), 
   (error) => this.onGetForecastError(error.json()), 
   () => this.onGetForecastComplete()
 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...