3

あいまいな API ドキュメントを持つネットワーク アプライアンスを使用しています。PATCH および GET リクエストは正常に実行できますが、POST は機能しません。応答として HTTP ステータス エラー 422 を受け取りました。JSON 要求にフィールドがありませんが、ドキュメントで指定されているように必要なフィールドを提供しています。サンプル コードで Python Requests モジュールとベンダー提供の PyCurl モジュールを試しましたが、同じエラーが発生しました。

REST API には、特定の POST の必須フィールドとその値の型を返すデバッグ メソッドがありますか? 私は、リクエストで表示されるようにテンプレートが構成されているもの ( {str(ServerName) : int(ServerID)}API 開発者が作成した可能性があるものではなく、 JSON など) について詳しく話しています。

4

1 に答える 1

1

いいえ、これは一般には存在しません。一部のサービスは、問題のルートへの OPTIONS リクエストをサポートしています。これにより、ルートに関するドキュメントが返されます。運が良ければ、これはルートを実装する同じソース コードからマシン生成されたものなので、静的なドキュメントよりも正確です。ただし、どの HTTP 動詞がサポートされているか、既に知っているなど、非常に単純な要約を返すだけの場合もあります。

さらに良いことに、一部のサービスは WSDL または WADL を使用して API のマシン記述をサポートしている場合がありますが、サービスが XML もサポートしている場合にのみ、それを見つけることができるでしょう。説明を解析し、API との対話に使用するサービスのローカル オブジェクト モデルを生成できるライブラリを見つけることができるため、これはより良いものになる可能性があります。

ただし、OPTIONS または WADL ファイルがある場合でも、直面している種類のエラーが発生する可能性があります。ドキュメントが役に立たない場合は、おそらくサービス サポート チームに連絡して、問題のデモンストレーションと支援を依頼する必要があります。

于 2016-09-27T14:02:13.867 に答える