


Une brève analyse de à quoi sert le module HttpClientModule dans Angular ? Comment l'utiliser ?
Cet article vous présentera le module HttpClientModule dans Angular et vous présentera comment utiliser le module HttpClientModule. J'espère qu'il sera utile à tout le monde !
Ce module est utilisé pour envoyer des requêtes Http
, et les méthodes utilisées pour envoyer des requêtes renvoient toutes des objets Observable
. [Recommandations de didacticiel associées : "Http
请求,用于发送请求的方法都返回 Observable
对象。【相关教程推荐:《angular教程》】
1. 快速开始
引入 HttpClientModule
模块
// app.module.ts import { httpClientModule } from '@angular/common/http'; imports: [ httpClientModule ]
注入 HttpClient
服务实例对象,用于发送请求
// app.component.ts import { HttpClient } from '@angular/common/http'; export class AppComponent { constructor(private http: HttpClient) {} }
发送请求
import { HttpClient } from "@angular/common/http" export class AppComponent implements OnInit { constructor(private http: HttpClient) {} ngOnInit() { this.getUsers().subscribe(console.log) } getUsers() { return this.http.get("https://jsonplaceholder.typicode.com/users") } }
2. 请求方法
this.http.get(url [, options]); this.http.post(url, data [, options]); this.http.delete(url [, options]); this.http.put(url, data [, options]);
this.http.get<Post[]>('/getAllPosts') .subscribe(response => console.log(response))
3. 请求参数
HttpParams
类
export declare class HttpParams { constructor(options?: HttpParamsOptions); has(param: string): boolean; get(param: string): string | null; getAll(param: string): string[] | null; keys(): string[]; append(param: string, value: string): HttpParams; set(param: string, value: string): HttpParams; delete(param: string, value?: string): HttpParams; toString(): string; }
HttpParamsOptions
接口
declare interface HttpParamsOptions { fromString?: string; fromObject?: { [param: string]: string | ReadonlyArray<string>; }; encoder?: HttpParameterCodec; }
使用示例
import { HttpParams } from '@angular/common/http'; let params = new HttpParams({ fromObject: {name: "zhangsan", age: "20"}}) params = params.append("sex", "male") let params = new HttpParams({ fromString: "name=zhangsan&age=20"})
4. 请求头
请求头字段的创建需要使用 HttpHeaders
类,在类实例对象下面有各种操作请求头的方法。
export declare class HttpHeaders { constructor(headers?: string | { [name: string]: string | string[]; }); has(name: string): boolean; get(name: string): string | null; keys(): string[]; getAll(name: string): string[] | null; append(name: string, value: string | string[]): HttpHeaders; set(name: string, value: string | string[]): HttpHeaders; delete(name: string, value?: string | string[]): HttpHeaders; }
let headers = new HttpHeaders({ test: "Hello" })
5. 响应内容
declare type HttpObserve = 'body' | 'response'; // response 读取完整响应体 // body 读取服务器端返回的数据
this.http.get( "https://jsonplaceholder.typicode.com/users", { observe: "body" } ).subscribe(console.log)
6. 拦截器
拦截器是 Angular
应用中全局捕获和修改 HTTP
请求和响应的方式。(Token
、Error
)
拦截器将只拦截使用 HttpClientModule
模块发出的请求。
$ ng g interceptor <name>
6.1 请求拦截
@Injectable() export class AuthInterceptor implements HttpInterceptor { constructor() {} // 拦截方法 intercept( // unknown 指定请求体 (body) 的类型 request: HttpRequest<unknown>, next: HttpHandler // unknown 指定响应内容 (body) 的类型 ): Observable<HttpEvent<unknown>> { // 克隆并修改请求头 const req = request.clone({ setHeaders: { Authorization: "Bearer xxxxxxx" } }) // 通过回调函数将修改后的请求头回传给应用 return next.handle(req) } }
6.2 响应拦截
@Injectable() export class AuthInterceptor implements HttpInterceptor { constructor() {} // 拦截方法 intercept( request: HttpRequest<unknown>, next: HttpHandler ): Observable<any> { return next.handle(request).pipe( retry(2), catchError((error: HttpErrorResponse) => throwError(error)) ) } }
6.3 拦截器注入
import { AuthInterceptor } from "./auth.interceptor" import { HTTP_INTERCEPTORS } from "@angular/common/http" @NgModule({ providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true } ] })
7. Angular Proxy
在项目的根目录下创建 proxy.conf.json
文件并加入如下代码
{ "/api/*": { "target": "http://localhost:3070", "secure": false, "changeOrigin": true } }
/api/:在应用中发出的以
/api
开头的请求走此代理target:服务器端
URL
secure:如果服务器端
URL
的协议是https
,此项需要为true
changeOrigin:如果服务器端不是
localhost
, 此项需要为true
指定 proxy
配置文件 (方式一)
// package.json "scripts": { "start": "ng serve --proxy-config proxy.conf.json", }
指定 proxy
Tutoriel angulaire
HttpClientModule < /code> Le module 🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>// angular.json 文件中
"serve": {
"options": {
"proxyConfig": "proxy.conf.json"
},</pre><div class="contentsignin">Copier après la connexion</div></div>🎜 injecte l'objet d'instance de service <code>HttpClient
pour l'envoi de requêtes 🎜rrreee🎜Envoi de requêtes 🎜rrreee🎜2. Méthode de requête🎜rrreeerrreee🎜3. Paramètres de requête🎜🎜HttpParams
Classe 🎜rrreee🎜HttpParamsOptions
Interface 🎜rrreee🎜Exemple d'utilisation🎜rrreee🎜4. 🎜🎜Pour créer des champs d'en-tête de requête, vous devez utiliser la classe HttpHeaders
. Il existe différentes méthodes pour exploiter les en-têtes de requête sous l'objet d'instance de classe. 🎜rrreeerrreee🎜5. Contenu de la réponse🎜rrreeerrreee🎜 6. Intercepteur🎜🎜Interceptor est un moyen de capturer et de modifier globalement les requêtes et réponses HTTP
dans les applications Angular
. (Jeton
, Erreur
) 🎜🎜L'intercepteur n'interceptera que les requêtes effectuées à l'aide du module HttpClientModule
. 🎜rrreee🎜
Angular Proxy
🎜🎜Créez proxy.conf.json
dans le répertoire racine du projet. fichier et ajoutez le code suivant🎜rrreee🎜 Fichier de configuration
- 🎜/api/ : émis dans l'application avec
/ Les requêtes commençant par api
passent par ce proxy🎜- 🎜cible :
URL
côté serveur🎜- 🎜 sécurisé : si le protocole de l'
URL
côté serveur esthttps
, cet élément doit êtretrue
🎜- 🎜changeOrigin : Si le serveur n'est pas
localhost
, cet élément doit être spécifié commetrue
🎜
proxy
(première méthode)🎜rrreee🎜Spécifiez le fichier de configuration proxy
(méthode deux)🎜rrreee🎜Pour en savoir plus sur la programmation connaissances, veuillez visiter : 🎜Introduction à la programmation🎜 ! ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Cet article poursuit l'apprentissage d'Angular, vous amène à comprendre les métadonnées et les décorateurs dans Angular, et comprend brièvement leur utilisation. J'espère qu'il sera utile à tout le monde !

Angular.js est une plateforme JavaScript librement accessible pour créer des applications dynamiques. Il vous permet d'exprimer rapidement et clairement divers aspects de votre application en étendant la syntaxe HTML en tant que langage de modèle. Angular.js fournit une gamme d'outils pour vous aider à écrire, mettre à jour et tester votre code. De plus, il offre de nombreuses fonctionnalités telles que le routage et la gestion des formulaires. Ce guide expliquera comment installer Angular sur Ubuntu24. Tout d’abord, vous devez installer Node.js. Node.js est un environnement d'exécution JavaScript basé sur le moteur ChromeV8 qui vous permet d'exécuter du code JavaScript côté serveur. Être à Ub

Cet article vous donnera une compréhension approfondie du gestionnaire d'état NgRx d'Angular et vous présentera comment utiliser NgRx. J'espère qu'il vous sera utile !

Avec le développement rapide d'Internet, la technologie de développement front-end s'améliore et se répète constamment. PHP et Angular sont deux technologies largement utilisées dans le développement front-end. PHP est un langage de script côté serveur capable de gérer des tâches telles que le traitement des formulaires, la génération de pages dynamiques et la gestion des autorisations d'accès. Angular est un framework JavaScript qui peut être utilisé pour développer des applications monopage et créer des applications Web composées de composants. Cet article explique comment utiliser PHP et Angular pour le développement front-end et comment les combiner.

Connaissez-vous Angular Universel ? Cela peut aider le site Web à fournir un meilleur support SEO !

Cet article partagera avec vous une expérience pratique d'Angular et apprendra comment développer rapidement un système backend en utilisant Angualr combiné avec ng-zorro. J'espère que cela sera utile à tout le monde !

Comment utiliser monaco-editor en angulaire ? L'article suivant enregistre l'utilisation de monaco-editor dans angulaire qui a été utilisé dans une entreprise récente. J'espère qu'il sera utile à tout le monde !

Cet article vous présentera les composants indépendants dans Angular, comment créer un composant indépendant dans Angular et comment importer des modules existants dans le composant indépendant. J'espère qu'il vous sera utile !
