Как получить параметры URL-адреса с помощью лямбда-функций AWS?

Я использую функции Netlify для API, большинство из которых работает отлично, за исключением случаев, когда мне нужно получить доступ к параметрам URL

Вот фрагмент того, что мне нужно получить для параметра:

func Handler(ctx context.Context, request events.APIGatewayProxyRequest) (Response, error) {

    id := request.PathParameters["id"]

    ...
}

func main() {
    lambda.Start(Handler)
}

У меня есть другие функции, которые работают правильно, которые не требуют параметров URL, но я не могу понять, как заставить их работать, я пробовал несколько разных вариантов:

https://example.com/endpoint/1
https://example.com/endpoint/id=1
https://example.com/endpoint?id=1

Ни одно из вышеперечисленных не возвращает параметр пути id при достижении конечной точки.

1 ответ

Решение

Вы можете использовать request.QueryStringParameters["id"] получить идентификатор из параметра запроса

func Handler(ctx context.Context, request events.APIGatewayProxyRequest) (Response, error) {

    id := request.QueryStringParameters["id"]

    ...
}

И позвони как https://example.com/endpoint?id=1

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