Aurelia: настроить клиент выборки
Я использую клиент извлечения Aurelia для связи с моим сервером. В каждой модели viewModel, использующей клиент извлечения, я должен настроить его так, чтобы клиент использовал перехватчик для отправки настраиваемого заголовка (токена).
Есть ли способ настроить клиент выборки где-то вместо того, чтобы переписывать код перехватчика в каждой модели представления.
1 ответ
Решение
Вы можете поместить конфигурацию в файл main.js. Как это:
...
aurelia.use
.standardConfiguration()
.developmentLogging();
let container = aurelia.container;
let http = new HttpClient();
http.configure(config => {
config
.useStandardConfiguration()
.withBaseUrl('http://localhost:8080/api/')
.withDefaults({
headers: {
'Authorization': tokenVariable // <---- your magic here
}
})
.withInterceptor({
request(request) {
console.log(`Requesting ${request.method} ${request.url}`);
return request;
},
response(response) {
console.log(`Received ${response.status} ${response.url}`);
}
});
});
container.registerInstance(HttpClient, http);
Теперь вам просто нужно внедрить HttpClient, чтобы настроить экземпляр выше.
@inject(HttpClient)
export class MyViewModel {
}
Более подробная информация на https://github.com/aurelia/fetch-client/blob/master/doc/article/en-US/http-services.md