我正在使用 REST API,我希望能夠高效地存盤和訪問嵌套的 URL 字串。
我的理想是能夠鍵入類似的myHttpClient.PostAsync(url.things.search, mycontent)內容并在運行時將其執行為myHttpClient.PostAsync("myurl.com/thethingsiwant/searchingthethings", mycontent),或者鍵入myHttpClient.PostAsync(url.things.create, mycontent)并將其決議為myHttpClient.PostAsync("myurl.com/thethingsiwant/creatingathing", mycontent),其中列出了多個級別和分支的字串。
我考慮過可能使用字典,但這并不能讓我清楚地訪問“。” 我想要但嵌套也不干凈的運算子。從我讀到的內容來看,列舉同樣不適合我的需要。
我意識到我可以創建一個自定義類來做我想做的事,但我覺得應該有一些資料結構可以更容易地做我想做的事,我只是不太清楚谷歌找到的正確術語它。
制作這種嵌套字串結構對我來說最好的方法是什么?
謝謝!
uj5u.com熱心網友回復:
我不確定我是否完全理解您的要求,但您可以嘗試使用基本 url 創建一個 HttpClientFactory 實體(假設您使用的是 .NET Core 2 或更高版本)。
在 Startup.cs 中,您將添加:
public void ConfigureServices(IServiceCollection services)
{
. . .
services.AddHttpClient("url.things", c =>
{
c.BaseAddress = new Uri("http://myurl.com/thethingsiwant");
});
. . .
}
然后你將它注入你的類:
private readonly IHttpClientFactory _clientFactory;
public MyService(IHttpClientFactory clientFactory)
{
_clientFactory = clientFactory;
}
你會這樣稱呼它:
var myHttpClient = _clientFactory.CreateClient("url.things");
myHttpClient.PostAsync("creatingathing", mycontent);
我相信這適用于PostAsync,但我不是 100% 確定。我通常使用SendAsync并創建一個HttpRequestMessage,因此結果可能會有所不同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/536367.html
