Spring boot REST Service + GitHub Api

Spring boot REST Service + GitHub Api
K5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1005
0

Mam do zrobienia prosty REST service korzystający z api githubowego. Request od usera w stylu pobieranie info o repozytoriach itp.

Na https://developer.github.com/v3 wyczytałem, że client bez autentykacji może wysyłać 60 requestów na godzine. Oczywiście jest to dla mnie za mało.
Po autentykacji limit wzrasta do 5000 reuqestów / hour.

Korzystam z tego API: https://github.com/eclipse/egit-github/tree/master/org.eclipse.egit.github.core

Z autentykacją i pobieraniem danych nie mam problemów.

Moje pytanie jest następujące. Jeśli tworzenie clienta / servicu i autentykacja wygląda tak:

Kopiuj
GitHubClient client = new GitHubClient();
client.setCredentials(login, token);
RepositoryService service = new RepositoryService(client);

jakbyście podeszli do tego od strony architektonicznej aby autentykacja wykonywała się tylko RAZ od razu po starcie apki, a nie za każdym requestem + aby obsługiwało to 20 requestów na sekundę bez większych problemów?

Czy robienie czegoś takiego:

Kopiuj
ConfigurableApplicationContext context =  SpringApplication.run(ServiceApplication.class, args);
context.getBean(RepoDetailsService.class).testMethod();

ma sens? testMethod() dokonywało by autentykacji i tworzyło RepositoryService do którego potem mógłbym się odwoływać.

danek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 797
1

A nie starczy raz odpalić te metodę w konstruktorze? U Ciebie w RepoDetailsService

K5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1005
0

Racja, w ogóle nie pomyślałem o tym w taki sposób.

Masz jakieś wskazówki co do części z obsługą 20 reuqestów na sekundę?

BC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 159
0

Zawsze możesz zrobić apke na githubie i wygenerować klucz i podpiąć go pod request.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.