как передать параметры при создании сервисов kong api - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь создать службу в kong, в качестве URL которой используется переменная пути "example / {id} / example", но kong выдает следующее исключение

curl для создания службы

curl -i -X POST --url http://localhost:8001/services/ -H "Cache-Control: no-cache" -H "Content-Type: application/x-www-form-urlencoded" -d "protocol=http&host=localhost&port=8090&path=/v1/{folio}/ejemplo&name=name-services"

исключение при создании этого

{"strategy":"postgres","message":"schema violation (path: invalid path: '\/v1\/{folio}\/ejemplo' (characters outside of the reserved list of RFC 3986 found))","name":"schema violation","fields":{"path":"invalid path: '\/v1\/{folio}\/ejemplo' (characters outside of the reserved list of RFC 3986 found)"},"code":2}

пожалуйста, помогите

1 Ответ

0 голосов
/ 10 октября 2018

Это потому, что ваш путь не закодирован

С validate_path

local function validate_path(path)
  if not string.match(path, "^/[%w%.%-%_~%/%%]*$") then
    return nil,
           "invalid path: '" .. path ..
           "' (characters outside of the reserved list of RFC 3986 found)",
           "rfc3986"
  end

Вы можете использовать опцию --data-urlencode в curl, чтобы URL кодировать ваши данные вместо -d.Или в качестве альтернативы просто установите путь к /v1/%7Bfolio%7D/ejemplo%26name%3Dname-services

...