C# 对API端点的简单PUT请求
我试图将JSON放到ElasticSearchAPI中,以便在现有索引中索引/插入文档,但我找不到任何实际可行的代码示例。我已经研究了httpClient、httpWebRequests和elastic.net插件嵌套 邮递员之类的东西一切都很好。下面的句子如何翻译成C# 下面是我试图在ARC(高级Rest客户端)中添加的示例:C# 对API端点的简单PUT请求,c#,http,elasticsearch,C#,Http,elasticsearch,我试图将JSON放到ElasticSearchAPI中,以便在现有索引中索引/插入文档,但我找不到任何实际可行的代码示例。我已经研究了httpClient、httpWebRequests和elastic.net插件嵌套 邮递员之类的东西一切都很好。下面的句子如何翻译成C# 下面是我试图在ARC(高级Rest客户端)中添加的示例: 像这样的事 public void PutAPI(string basicAuth, string json) { using (var client = n
像这样的事
public void PutAPI(string basicAuth, string json)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("authorization", $"Basic {basicAuth}");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PutAsync("https://mydankapi.com/v1/put", new StringContent(json, Encoding.UTF8, "application/json")).Result;
if (!response.IsSuccessStatusCode)
throw new Exception(response.ReasonPhrase);
}
}
为什么NEST不符合您的要求?根据他们的要求,您可以像这样为文档编制索引:
var tweet = new Tweet
{
Id = 1,
User = "kimchy",
PostDate = new DateTime(2009, 11, 15),
Message = "Trying out NEST, so far so good?"
};
var response = client.Index(tweet, idx => idx.Index("mytweetindex")); //or specify index via settings.DefaultIndex("mytweetindex");
您所要做的就是为您的文档类型创建一个POCO类(
DataMetadata
?),并将索引名设置为data\u metadata
,我相信。所以您正试图使用C#Lagrange?将Put请求发送到一个Api,找到它,需要新的StringContent(json,Encoding.UTF8,“application/json”)).Result
而不是新的StringContent(json)).Result