ASP .NET Webサイトでは、.NETクライアントからWeb APIを呼び出す方法についてan exampleがあります。Web APIを正しく呼び出す方法
彼らは、新しい製品を作成する電話をかけるには、このメソッドを持っている:
static async Task<Uri> CreateProductAsync(Product product)
{
HttpResponseMessage response = await client.PostAsJsonAsync("api/products", product);
response.EnsureSuccessStatusCode();
// Return the URI of the created resource.
return response.Headers.Location;
}
これは、任意の言語やフレームワークのいずれかのAPIへの呼び出しを行うための通常の方法のようですが、私はたくさんのを見ますこの行の問題:
"path"パラメータが文字列の場合、コンパイル時に発生する可能性のあるエラーを検出する方法はありません。また、APIが変更され、多くの呼び出しがあった場合は、すぐに呼び出しを再構築する方法はありません。
この種の問題を回避するための呼び出しを構築する方法はありますか?たとえば、私たちはWebサービスと同様に、
短い答え:いいえ、それはHttpClientの設計方法です。 – Nkosi
マジックストリングを使用する必要はありません。 configやデータベースなどにルートを保存すると、変更をすばやく行うことができますが、コンパイルエラーが発生してもそれは役に立ちません。 – Crowcoder
ありがとうございます。しかし、あなたはどのようにパラメータを使用しますか?例えば、あなたが '' api/products/{Id} ''という経路を持っていてそれを別のクラスやデータベースに保存すると、'client.PutAsJsonAsync(Routes.Products、product) 'のような呼び出しがあります。非常に読みにくい。 –