問題タブ [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.

0 投票する
1 に答える
2191 参照

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 に統合するにはどうすればよいですか?

0 投票する
1 に答える
385 参照

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 .

とにかく、ナゲットパッケージを手動でインストールせずにパッケージ構成ファイルを生成できますか? ありがとう。

0 投票する
1 に答える
7687 参照

c# - AutoRest C# クライアントを使用してベアラー トークンで Web API にアクセスする - TokenCredentials が機能しない

EDIT 10/24 これはすべてユーザーエラーの可能性が高いと思います-この質問に深く入り込む前に、以下の私の回答を参照してください

TL;DR: 私の OAuth 2.0 コード フローでは...

TokenCredentialsAutoRest クライアントで動作しないのはなぜですか? リクエストにベアラー トークンが適用されていない / 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 経由でアクセス トークンを取得する: