Skip to content

Commit 8b721ce

Browse files
docs(http-interceptor): adiciona exemplo de uso em projetos standalone
1 parent 57dac68 commit 8b721ce

File tree

2 files changed

+88
-6
lines changed

2 files changed

+88
-6
lines changed

projects/ui/src/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.ts

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,15 @@ const NO_MESSAGE_HEADER_PARAM = 'X-PO-No-Message';
3030
*
3131
* ## Configuração
3232
*
33-
* Para o correto funcionamento do interceptor `po-http-interceptor`, deve ser importado o `BrowserAnimationsModule` no
34-
* módulo principal da sua aplicação. Além disso, é necessário configurar o `HttpClient` para utilizar os interceptors
35-
* registrados no Dependency Injection (DI) por meio da função `provideHttpClient(withInterceptorsFromDi())`.
33+
* Para o correto funcionamento do interceptor `po-http-interceptor`, deve ser importado o `BrowserAnimationsModule` na
34+
* aplicação. Além disso, é necessário configurar o `HttpClient` para utilizar os interceptors registrados via Dependency
35+
* Injection (DI) por meio da função `provideHttpClient(withInterceptorsFromDi())`.
36+
*
37+
* ### 1) NgModule
38+
*
39+
* No módulo principal da aplicação (geralmente `AppModule`), importe o `BrowserAnimationsModule` e configure o `HttpClient`,
40+
* como no exemplo abaixo:
3641
*
37-
* Módulo da aplicação:
3842
* ```
3943
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
4044
* import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@@ -64,6 +68,32 @@ const NO_MESSAGE_HEADER_PARAM = 'X-PO-No-Message';
6468
* Ao importar o módulo `PoModule` na aplicação, o `po-http-interceptor` é automaticamente configurado sem a necessidade
6569
* de qualquer configuração extra.
6670
*
71+
* ### 2) Standalone
72+
*
73+
* No arquivo contendo a configuração da aplicação (geralmente `src/app/app.config.ts`), adicione os providers e configure o `HttpClient`,
74+
* como no exemplo abaixo:
75+
*
76+
* ```
77+
* import { ApplicationConfig, importProvidersFrom } from '@angular/core';
78+
* import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
79+
* import { provideAnimations } from '@angular/platform-browser/animations';
80+
* import { PoHttpInterceptorModule } from '@po-ui/ng-components';
81+
*
82+
* export const appConfig: ApplicationConfig = {
83+
* providers: [
84+
* ...
85+
* provideAnimations(),
86+
* provideHttpClient(withInterceptorsFromDi()),
87+
* importProvidersFrom([
88+
* PoHttpInterceptorModule
89+
* ]),
90+
* ...
91+
* ]
92+
* };
93+
* ```
94+
*
95+
* ## Como usar
96+
*
6797
* Ao realizar requisições utilize o `HttpClient`, conforme exemplo abaixo:
6898
*
6999
* ```
@@ -87,8 +117,6 @@ const NO_MESSAGE_HEADER_PARAM = 'X-PO-No-Message';
87117
* }
88118
* ```
89119
*
90-
* ## Como usar
91-
*
92120
* Para exibir as noticações é necessário informar a mensagem no retorno da requisição. A estrutura da mensagem
93121
* é feita com base no status da resposta, conforme será apresentado nos próximos tópicos.
94122
*

projects/ui/src/lib/interceptors/po-http-request/po-http-request-interceptor.service.ts

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,63 @@ const screenLock = 'X-PO-Screen-Lock';
4747
* ```
4848
* > Após a validação no interceptor, o parâmetro será removido do cabeçalho da requisição.
4949
*
50+
* ## Configuração
51+
*
52+
* É necessário configurar o `HttpClient` para utilizar os interceptors registrados via Dependency Injection (DI)
53+
* por meio da função `provideHttpClient(withInterceptorsFromDi())`.
54+
*
55+
* ### 1) NgModule
56+
*
57+
* ```
58+
* import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
59+
* import { PoModule } from '@po-ui/ng-components';
60+
* ...
61+
*
62+
* @NgModule({
63+
* imports: [
64+
* ...
65+
* PoModule
66+
* ],
67+
* declarations: [
68+
* AppComponent,
69+
* ...
70+
* ],
71+
* providers: [
72+
* provideHttpClient(withInterceptorsFromDi()),
73+
* ...
74+
* ],
75+
* bootstrap: [AppComponent]
76+
* })
77+
* export class AppModule { }
78+
* ```
79+
*
5080
* Ao importar o módulo `PoModule` na aplicação, o `po-http-request-interceptor` é automaticamente configurado sem a necessidade
5181
* de qualquer configuração extra.
5282
*
83+
* ### 2) Standalone
84+
*
85+
* No arquivo contendo a configuração da aplicação (geralmente `src/app/app.config.ts`), adicione os providers e configure o `HttpClient`,
86+
* como no exemplo abaixo:
87+
*
88+
* ```
89+
* import { ApplicationConfig, importProvidersFrom } from '@angular/core';
90+
* import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
91+
* import { provideAnimations } from '@angular/platform-browser/animations';
92+
* import { PoHttpRequestModule } from '@po-ui/ng-components';
93+
*
94+
* export const appConfig: ApplicationConfig = {
95+
* providers: [
96+
* ...
97+
* provideHttpClient(withInterceptorsFromDi()),
98+
* importProvidersFrom([
99+
* PoHttpRequestModule
100+
* ]),
101+
* ...
102+
* ]
103+
* };
104+
* ```
105+
*
106+
* ## Como usar
53107
*
54108
* Segue abaixo um exemplo de uso:
55109
*

0 commit comments

Comments
 (0)