«errorMessage»: «Неожиданный токен в JSON» $ ENVIRONMENT_ID / node - PullRequest
0 голосов
/ 18 мая 2018

Итак, я пытаюсь изучить платформу Kaleido, но не могу попробовать автоматизированный POC для себя.

У меня все переменные готовы ...

echo $CONSORTIUM_ID
u0n2ntzvyy
echo $ENVIRONMENT_ID
u0h47hwa69
echo $MEMBERSHIP_ID
u0pe8jgwom

но когда я звоню, я получаю ...

curl -X POST -H "$HDR_AUTH" -H "$HDR_CT"  -d "{ 'name': 'suppliernode2', 'membership_id': 'u0pe8jgwom' }" "$APIURL/consortia/$CONSORTIUM_ID/environments/$ENVIRONMENT_ID/nodes" | jq

{
  "errorMessage": "Unexpected token in JSON"
}

Как видите, я прибегал к жесткому кодированию некоторых вещей.

В документации API неясно, какие поля нужныв том числе создать узел из REST api http://console.kaleido.io/docs/docs/api_reference/

1 Ответ

0 голосов
/ 18 мая 2018

спасибо за сообщение.

Я думаю, что важное разъяснение здесь заключается в том, что если вы хотите передать тело вашего вызова REST как многострочный JSON, то вам нужно будет использовать двойные кавычки для выхода изатем двойные кавычки в теле для полей и значений - например,

CONSORTIUM=$(curl -H "$HDR_AUTH" -H "$HDR_CT" -s "$APIURL/consortia?name=api101" | jq -r ".[0]._id") curl -H "$HDR_AUTH" -H "$HDR_CT" -s -d "{ \ \"name\": \"Sample Environment\", \ \"provider\": \"geth\", \ \"consensus_type\": \"poa\" \ }" "$APIURL/consortia/$CONSORTIUM/environments" | jq

Однако, если вы предпочитаете использовать однострочную строку для тела вызова, вам следует выйти с помощьюодиночные кавычки и использование двойных кавычек в теле вызова - например,

curl -X POST -d '{"membership_id":"abcde12345", "name":"BANK A node"}' -H "$HDR_AUTH" -H "$HDR_CT" "$APIURL/consortia/{consortia_id}/environments/{environment_id}/nodes" | jq

В учебнике по API 101 в качестве примеров используется многострочный подход - http://console.kaleido.io/docs/docs/api101/

Понимание API Kaleido выбирает однострочную демонстрацию - http://console.kaleido.io/docs/docs/api/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...