Próbuję ustawić parametry ścieżki podczas wykonywania wywołań punktów końcowych bramy API za pośrednictwem zestawu JavaScript SDK i nie mając szczęścia. Wygląda na to, że mam coś źle skonfigurowanego lub jest błąd w generowaniu SDK.Ustawianie parametrów ścieżki w bramce interfejsu API AWS JavaScript SDK
Jestem w stanie skutecznie wywoływać punkty końcowe, które nie przyjmują parametrów ścieżki, ale kiedy próbuję przekazać parametr, który ma być użyty jako parametr ścieżki, SDK zamienia tylko parametr ścieżki na puste i moje połączenie nie działa.
Przykład, załóżmy, że client
jest poprawnie zainicjalizowanym klientem bramy API. Mam punkt końcowy o nazwie /measurement
z dzieckiem o numerze /measurement/{id}
. Mogę zadzwonić do obu bezpośrednio.
client.measurementGet({},{});
- skutecznie wywołuje mój /measurement
końcowym client.measurementIdGet({"id": "1234"}, {});
- Przeglądarka umożliwia wywołanie /measurement/
zamiast /measurement/1234
Patrząc na źródło moich apigClient.js, wydaje się, że generator SDK nie jest wprowadzenie parametrów ścieżki dostępu w lista parametrów, których szuka. Na przykład, kod mojego wygenerowanym measurementIdGet
metody wygląda następująco:
apigClient.measurementIdGet = function (params, body, additionalParams) {
if(additionalParams === undefined) { additionalParams = {}; }
apiGateway.core.utils.assertParametersDefined(params, [], ['body']);
var measurementIdGetRequest = {
verb: 'get'.toUpperCase(),
path: pathComponent + uritemplate('/measurement/{id}').expand(apiGateway.core.utils.parseParametersToObject(params, [])),
headers: apiGateway.core.utils.parseParametersToObject(params, []),
queryParams: apiGateway.core.utils.parseParametersToObject(params, []),
body: body
};
return apiGatewayClient.makeRequest(measurementIdGetRequest, authType, additionalParams, config.apiKey);
};
ja wykutych w assertParametersDefined
i parseParametersToObject
i wygląda na to, te metody są spodziewa listę parametrów szukać. W obu przypadkach SDK wygenerował puste listy zamiast umieszczać tam mój parametr ścieżki.
Gdybym ręcznie zaktualizować wygenerowany plik zmienić dwie linie do
apiGateway.core.utils.assertParametersDefined(params, ['id'], ['body']);
i
apiGateway.core.utils.parseParametersToObject(params, ['id'])
SDK umożliwia prawidłowe połączenie.
Czy brakuje mi czegoś w mojej konfiguracji lub czy jest jakiś błąd w generatorze kodu?
mam ten sam problem tutaj. Czy to ma jakieś aktualizacje? @mason – johnny
Dla mnie ten sam problem. Pytałem o to na forum i nie otrzymałem żadnej odpowiedzi: https://forums.aws.amazon.com/thread.jspa?messageID=734395. Ktoś wie, czy generator SDK jest open source?Nie można go nigdzie znaleźć – Sam
Przepraszam za bug, ale jakakolwiek aktualizacja tutaj? Nadal dostaję ten problem – AvnerSo