Почему большинство людей использует перехватчик для добавления заголовка аутентификации при модернизации? - PullRequest
0 голосов
/ 19 декабря 2018

Каждый из них добавляет аутентификацию на этапе перехватчика вместо использования аннотации @Header или @Headers для Retrofit.Есть ли причина, почему?Потому что иногда у вас будет API, который не требует аутентификации (например, если у вас есть конечная точка состояния бэкэнд-системы), и даже если он ничего не сломает, он просто чувствует себя ненужным и слегка скрытым.

Спасибо зазаранее!

1 Ответ

0 голосов
/ 19 декабря 2018

Есть ли какая-либо причина, почему?

Во многих случаях это удобнее, чем передавать заголовок аутентификации в качестве параметра каждому методу Retrofit, для которого нужен заголовок.

Например, предположим, что мы взаимодействуем с веб-службой, имеющей 123 456 789 конечных точек, к которым нам нужно обратиться.В соответствии с вашим планом нам необходимо:

  • Добавить аннотированный параметр @Header к 123 456 789 методам в нашем интерфейсе API Retrofit
  • Организовать передачу этого параметра во все наши вызовыэти 123 456 789 методов

Используя перехватчик, мы добавляем один перехватчик, и он охватывает все эти методы.

Потому что иногда у вас будет API, который не требует аутентификации(например, если у вас есть конечная точка состояния бэкэнд-системы)

Предположим, что 789 из этих конечных точек не нуждаются в аутентификации.Остальные 123 456 000 делают.В соответствии с вашим планом нам необходимо:

  • Добавить аннотированный параметр @Header к 123 456 000 методов в нашем интерфейсе Retrofit API
  • Организовать передачу этого параметра во все наши вызовыэти 123 456 000 методов

С помощью перехватчика нам нужен один перехватчик для обработки всего этого.Этот перехватчик может иметь некоторый белый список для определения того, какие конечные точки могут пропускать заголовок, используя:

  • Регулярное выражение пути
  • Соответствие сегмента пути
  • Соответствие полного пути
  • Независимо от того,

Очевидно, я немного шучу здесь, в том, что немногие веб-сервисы имеют 123 456 789 конечных точек.

Однако, есть некоторая точка безубыточности, когдаПерехватчик будет проще, чем обработка параметра @Header.Где эта точка безубыточности зависит от команды разработчиков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...