Клиентские библиотеки с открытым исходным кодом Angular Rest - PullRequest
0 голосов
/ 02 мая 2019

Привет, я хотел бы знать, существует ли библиотека для угловых js, аналогичная модификации в Android, HTTP-клиент Apache для Java или RestTemplate для SpringBoot.

Я могу успешно использовать https://angular.io/guide/http с rxjs, но у меня много вызовов API, и я ищу, существует ли лучшее решение, о котором я не знаю.

Некоторые из моих выводов:

Похоже, они либо устарели, либо не обслуживаются в последнее время.

Может кто-нибудь помочь мне найти быстрый упаковщик для этого.

РЕДАКТИРОВАНИЕ:

Добавлен пример кода, который я уже использую в проекте

import {HttpClient} from '@angular/common/http';
import {Observable} from 'rxjs';
import {Tweet} from '../api/models/response/Tweet';
import {Injectable} from '@angular/core';
import {environment} from '../../environments/environment';
import {AuthenticationService} from '../api/services/authentication.service';

@Injectable({
  providedIn: 'root'
})
export class TweetsService {
  tweetsUrl = '/tweets/timeline?page=0&size=25';
  sendTweetUrl = '/tweets/create';

  constructor(private httpClient: HttpClient,
              private authenticationService: AuthenticationService) {

  }

  getTweets(): Observable<Tweet[]> {
    return this.httpClient.get<Tweet[]>(environment.resourceApiUrl + this.tweetsUrl);
  }

  sendTweet(tweet: Tweet): Observable<Tweet> {
    return this.httpClient.post<Tweet>(environment.resourceApiUrl + this.sendTweetUrl, tweet);
  }
}

1 Ответ

0 голосов
/ 02 мая 2019

После моих комментариев я думаю, что этот код довольно чистый и короткий.Если вы находите это слишком аккуратным, вы можете разложить его по строчкам

export class HttpService {
  constructor(...) {...}

  get<T>(url) {
    return this.http.get<T>(environment.apiURL + url);
  }
}

Это уменьшит ваш "шаблонный код".Но я определенно рекомендую идти как вы, так как он четко разделяет логику каждого сервиса (пересматривая LIFT часть руководства по стилю ), что является очень хорошей практикой!

...