Używam retrofit2
w moich aplikacjach na Androida dla każdego połączenia http/reszta. Teraz muszę zadzwonić do api generowane z Amazon AWS API Gateway.Jak wywołać API Gateway za pomocą Cognito Credentials przez retrofit2 na Androida?
Dokumentacja AWS say powinien wygenerować kod klienta rzucać konsolę bramy API i użyć klasy ApiClientFactory
zbudować żądanie:
ApiClientFactory factory = new ApiClientFactory();
// Use CognitoCachingCredentialsProvider to provide AWS credentials
// for the ApiClientFactory
AWSCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
context, // activity context
"identityPoolId", // Cognito identity pool id
Regions.US_EAST_1 // region of Cognito identity pool
};
factory.credentialsProvider(credentialsProvider);
// Create an instance of your SDK (this should come from the generated code).
final MyApiClient client = factory.build(MyApiClient.class);
// Invoke a method (e.g., 'parentPath1Get(param1,body)') exposed by your SDK.
// Here the method's return type is OriginalModel.
OriginalModel output = client.parentPath1Get(param1,body);
// You also have access to your API's models.
OriginalModel myModel = new OriginalModel();
myModel.setStreetAddress(streetAddress);
myModel.setCity(city);
myModel.setState(state);
myModel.setStreetNumber(streetNumber);
myModel.setNested(nested);
myModel.setPoBox(poBox);
Zamiast tego chciałbym zdefiniować API jak bym z retrofit
: z interfejsem, który piszę, podłącz go do RxJava, OkHttp itd ...
Moje pytanie brzmi: jak mogę podpisać prośby o modernizację za pomocą Cognito Identity Provider?
Skończyłem z wykorzystaniem pakietu SDK AWS bezpośrednio i owijania go w Rx Observables na własną rękę. Odpowiedź Jacka Kohna nie jest zła, ale tak naprawdę nie jest również odpowiedzią, wskazuje tylko w dobrym kierunku, jeśli chcesz ją wdrożyć na własną rękę. –
, więc próbuję podłączyć androida z bramą API, ale w jaki sposób lub gdzie otrzymałeś/stworzyłeś klasę 'MyApiClient'? – TheQ
Nazwa zależy od Twoich usług. Jest generator/eksport z konsoli internetowej dla bramy APi. Nie skorzystałem z tej metody. –