Как добавить API в API Publisher в компоненте API Manager в WSO2 с использованием CURL с 1.6.0
Когда я выполняю запрос curl для публикации API в API Manager-Publisher, он показывает, что он добавлен... но не может изменить его статус..!!! Не могу открыть этот API, а также!!!
Мой запрос:
curl -X POST -b cookies http://my.api-site.com:9763/publisher/site/blocks/item-add/ajax/add.jag \
-d "action=addAPI&name=TwitterAPI&context=/twitter&version=1.0.0&tier=Bronze&tier=Gold&transports=http&http_checked=http&transports=https&https_checked=https&description=Twitter&visibility=public API&tags=twitter,api&resourceCount=0&resourceMethod-0=GET,PUT,POST,DELETE,OPTIONS&resourceMethodAuthType-0=Application & Application User,Application & Application User,Application & Application User,Application & Application User,None&uriTemplate-0=/*&resourceMethodThrottlingTier-0=Unlimited, Unlimited, Unlimited, Unlimited, Unlimited&tiersCollection=Bronze,Gold,Silver,Unlimited" \
-d 'endpoint_config={"production_endpoints":{"url":"http://search.twitter.com","config":null},"endpoint_type":"http"}'
Быстродействие:
{"error" : true, "message" : " null"}
Может кто-нибудь помочь!!!
1 ответ
Решение
Параметры передаются в curl как key1=value1&key2=value2...
формат. Таким образом, если ключ1, ключ2, значение1, значение2 содержит какой-либо специальный символ, например =
, &
, ?
тогда должен быть urlencoded.
Ваша проблема с этим параметром:
resourceMethodAuthType-0=Application & Application User,Application & Application User,Application & Application User,Application & Application User,None
У вас много &
характер в вашей ценности. Так должно быть urlencoded
, Например, это & должно быть заменено на %26
Таким образом, строка будет:
resourceMethodAuthType-0=Application %26 Application User,Application %26 Application User,Application %26 Application User,Application %26 Application User,None
Другое дело, если вы запускаете команду из окон, всегда используйте двойные кавычки, а не одинарные. Например:
-d "endpoint_config={\"production_endpoints\"...}"