-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c9e5350
commit ad837e4
Showing
2 changed files
with
45 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,66 +1,35 @@ | ||
# Http Service | ||
# Serviços Http | ||
|
||
Serviço Http Angular 2 com as seguintes características: | ||
* Adição automática de header para o token JWT no cabeçalho http de cada requisição; | ||
* Através da configuração de endpoints, permite a utilização da chave do endpoint ao invés de toda a url em cada requisição. | ||
* Interceptador para tratamento de erros; | ||
São disponibilizados os seguintes serviços: | ||
* Interceptador para adição automática de header para o token JWT no cabeçalho de cada requisição; | ||
* Serviço para tratamento de erros; | ||
* Serviço que oferece acesso aos serviços REST do backend Demoiselle; | ||
|
||
### AuthInterceptor | ||
|
||
## Instalação | ||
Utilize o AuthInterceptor caso esteja utilizando a segurança por Token integrada com o backend Demoiselle. | ||
Dependência: TokenService do módulo @demoiselle/security. | ||
|
||
```bash | ||
npm install --save @demoiselle/http | ||
``` | ||
### ExceptionService | ||
|
||
Utilize o Observable oferecido pelo ExceptionService para efetuar o tratamento de erros de comunicação com o backend. Ex: Erros de validação (412), erros de autorização, erros no servidor, etc... | ||
|
||
## Utilização e configuração | ||
### DataService | ||
|
||
https://demoiselle.gitbooks.io/documentacao-frontend/content/m%C3%B3dulo-http/configurando-sua-aplicacao.html | ||
Para aproveitar a implementação de métodos padrão para acesso à Api REST Demoiselle crie seu serviço estendendo a classe DataService informando o recurso a ser acessado via configuração no construtor. | ||
|
||
|
||
### Exemplo - GET Request | ||
## Instalação | ||
|
||
Para fazer as requisições, use o serviço `Http` do angular: | ||
```bash | ||
npm install --save @demoiselle/http | ||
``` | ||
|
||
```javascript | ||
import { Http } from '@angular/http'; | ||
|
||
constructor(private http: Http) {} | ||
## Utilização e configuração | ||
|
||
// ...código resumido... | ||
https://demoiselle.gitbooks.io/documentacao-frontend/content/m%C3%B3dulo-http/configurando-sua-aplicacao.html | ||
|
||
this.http.get('~main/users'); | ||
``` | ||
|
||
|
||
## Configuração do HttpServiceProvider | ||
|
||
- **_endpoints_**: objeto com a lista de endpoints disponíveis para a applicação | ||
- **_multitenancy_**: configuração de multitenancy | ||
- **_unAuthorizedRoute_**: string com o valor da rota para redirecionamento quando servidor responder 401-unauthorized | ||
- **_tokenKey_**: chave localstorage para acesso ao token jwt | ||
|
||
### Exemplo de configuração | ||
|
||
```javascript | ||
{ | ||
endpoints : { | ||
main: 'http://localhost:9090/app/api/v1', | ||
main2: 'http://localhost:9090/app2/api/v1' | ||
}, | ||
multitenancy: { | ||
active: false, | ||
apiUrl: 'http://localhost:9090/users/api/v1/' | ||
}, | ||
unAuthorizedRoute : '/login', | ||
tokenKey : 'id_token' | ||
} | ||
``` | ||
|
||
### Exemplo de uso | ||
> Considerando a configuração<br> | ||
> `{'endpoints' : {'main': 'http://localhost/app/api/v1'}}`<br> | ||
> Podemos utilizar a seguinte chamada:<br> | ||
> `this.http.get('~main/users')`<br> | ||
> Que vai gerar uma requisição para: | ||
> `'http://localhost/app/api/v1/users'` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters