/api/apps/alerthub/message/list について
curl でのリクエストを行っています。
フィルターパラメータの指定例が以下のようになっていたので、真似して投入したところ、 "Internal server error" になりました。
instance": "/api/apps/alerthub/message/list?filter=receiveSlotId=17d9a34e-a5aa-4263-bbd7-b590eb383f49" です。
filter=receiveSlotId eq "2fe8432d-1b36-4997-b5cd-141e1f7754c7"
json 構文ではなく、curl のルールになるので、
filter 指定を外し、filterパラメータの中身だけを指定、かつ eq は "=" に書き換えたところ情報は取れました。コマンドは以下です。
curl https://xxxxx.cloud.kompira.jp/api/apps/alerthub/message/list?receiveSlotId="17d9a34e-a5aa-4263-bbd7-b590eb383f49" -H "X-Authorization: Token token-Id" > output
curl 利用で、APIマニュアルを参照する場合は、このように指定パラメータ名などを省略しても正常に処理するものでしょうか?
もしこの対処が間違っていて、正しい方法が別にあるのならご教示ください。
-
ご質問ありがとうございます。
filter パラメータを含む curl コマンドでのリクエスト方法について、以下にご提示いたします。
認証ヘッダーの追加や {space}, {uuid} 部分を適宜書き換えて実行いただければと思います。
curl "https://{space}.cloud.kompira.jp/api/apps/alerthub/message/list?filter=receiveSlotId%20eq%20%22{uuid}%22"curl 利用時の注意点ですが、 URL の途中に半角スペースが含まれると curl コマンドが正しく送信されなくなる可能性があるため、 + または %20 に変換 (エンコード) してから送信していただくと良いと思います。
同様に、上の例では " を %22 にエンコードしております。
フィルターパラメータの指定例が以下のようになっていたので、真似して投入したところ、 "Internal server error" になりました。
instance": "/api/apps/alerthub/message/list?filter=receiveSlotId=17d9a34e-a5aa-4263-bbd7-b590eb383f49" です。filter=receiveSlotId eq "2fe8432d-1b36-4997-b5cd-141e1f7754c7"
こちらはエラーメッセージの内容から filter パラメータの中身が "receiveSlotId={uuid}" という形式で送信しているのが原因かと思われます。
先で提示したサンプルのコマンドでも再発するようでしたら、お手数ですが指定したコマンド全文をお教えいただければと思います。curl 利用で、APIマニュアルを参照する場合は、このように指定パラメータ名などを省略しても正常に処理するものでしょうか?
パラメータ名は省略した場合はデフォルトの結果が返却され、存在しないパラメータ名を指定した場合は無視されます。
ご提示いただいた filter パラメータ指定を外したリクエストですと、 receiveSlotId パラメータが無視されるため、フィルタされていないすべての結果が返却されます。最後に API マニュアルからリクエストを実行する方法について、添付してご紹介いたします。
こちらから curl コマンドでのリクエスト方法も確認できるため、ぜひご活用ください。
サインインしてコメントを残してください。
コメント
2件のコメント