問題タブ [autorest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-web-api - Visual Studio 2017 で AutoRest を更新する方法
コンテキスト Visual Studio 2017 で "Add"/"REST API Client..." を使用して、webapi サービスに AutoRest 生成クライアントを使用したいと思います。ただし、次のエラーが発生します。
- [情報] AutoRest コア 0.16.0.0
- ...
- [致命的] クライアント モデルの生成エラー:コレクション形式 "multi" はサポートされていません(パラメーター 'xxx')。
AutoRest の古いバージョン (0.16.0 など) は、「マルチ」コレクション形式をサポートしていません。そこで、最新バージョンの AutoRest 0.17.3 をインストールしました。ヌゲットを使用。しかし、「追加」/「REST API クライアント...」を使用すると、バージョン 0.16.0 の AutoRest が引き続き使用され、同じエラーが発生します。Visual Studio 2017 には AutoRest バージョン 0.16 アセンブリが組み込まれているようです。
質問 AutoRest の最新バージョンを入手して Visual Studio 2017 に統合するにはどうすればよいですか?
c# - Azure Autorest パッケージの依存関係の復元
Azure の Autorest を使用して、特定の Swagger json から C# でクライアント コードを生成しています。
コードは正常に生成されますが、すべての依存 nuget パッケージを復元するために生成される packages.config/packages.json ファイルはありません。生成されたコード ファイルを既存の VS プロジェクトにインポートし、https://github.com/Azure/autorest/blob/v1.0.1-20170504-2300-nightly/のドキュメントの指示に従って Microsoft.Rest.ClientRuntime パッケージをインストールします。 docs/client/proj-setup.md .
とにかく、ナゲットパッケージを手動でインストールせずにパッケージ構成ファイルを生成できますか? ありがとう。
c# - AutoRest C# クライアントを使用してベアラー トークンで Web API にアクセスする - TokenCredentials が機能しない
EDIT 10/24 これはすべてユーザーエラーの可能性が高いと思います-この質問に深く入り込む前に、以下の私の回答を参照してください
TL;DR: 私の OAuth 2.0 コード フローでは...
TokenCredentials
AutoRest クライアントで動作しないのはなぜですか? リクエストにベアラー トークンが適用されていない / Authorization ヘッダーが設定されていない
私は私のパイプラインがすでに機能していることを知っています..
AutoRest クライアントではないこの azure サンプルのコードを使用するaccess_token
と、保護された Web API プロジェクトから JSON を正常に取得できます。したがって、すべての前提条件を除外しました。
私のAutoRestセットアップ..
1.) GitHub からこの AutoRest リポジトリv1.1.0をダウンロード
2.) Swagger JSON をディスクにダウンロードし、次のように保存しました。swagger.json
3.) 次のコマンドラインを実行して、C# ファイルを生成しました。
autorest --input-file=swagger.json --csharp --output-folder=MyCorp_ApiClient_Tsl --namespace='MyCorp.ApiClient' --add-credentials
4.) 生成されたクラスを .NET 4.6.2 Web サイトにコピーしました
5.) これらは私の NuGets です:
機能していないものは次のとおりです。
のさまざまな ctor を使用して、上記のバリエーションを試しましたがTokenCredentials
、ブレークポイントをMyAzureTracingHandler
挿入して、リクエストに Authorization ヘッダーが適用されていないことを確認できます..したがって、期待される401 Unauthorized
応答が得られます。
MyAzureTracingHandler
のインスタンスを受け入れるように変更するTokenCredentials
と、要求に適切なベアラー トークンが適用されるように強制できます。
これは機能しますが、ハックっぽい感じがします:
元のクライアントのインスタンス化スニペットを次から変更しました。
これに:
そして、IのSendAsync
メソッド内でMyAzureTracingHander
これを行います:
私は何か間違ったことをしていますか?ServiceClientCredentials
クライアントをインスタンス化するときに を 2 回渡す必要はないと思います。
付録 A - ADAL 経由でアクセス トークンを取得する: