Горячий, чтобы добавить перехватчик POST к клиенту aurelia http

В принципе, вопрос говорит сам за себя:). Сценарий таков: у меня есть несколько моделей Python, которые передаются между браузером и сервером. Соглашение Python для именования вещей заключается в использовании подчеркивания, а соглашение js - в CamelCase все. Поэтому я решил создать перехватчик http-запроса для преобразования между python_models и jsModels. Есть ли простой способ сделать это?

Я также ищу способ сделать обратное, так что верблюжий случай на этот случай:)

1 ответ

Решение

Если вы используете aurelia-http-clientВы можете использовать Reviver.

import {HttpClient} from 'aurelia-http-client';  
import {Person} from './models';  
export class PersonService {  
  constructor(){
      this.http = new HttpClient().configure(x=> {
        x.withReviver((k,v) => {        
          return typeof v === 'object' ? new Person(v) : v;
        });  
    });
  }
  getPeople(){
      return this.http.get('/people');
  }
}

Это работает только для aurelia-http-client и не aurelia-fetch-client, Об этом говорили в fetch спец, но я не верю, что это в настоящее время реализовано.

Проверьте следующее для получения дополнительной информации:

Другие вопросы по тегам