This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
" var response = await SharedClient.GetAsync(\"/api/hello/GetAccount\");\n",
" response.EnsureSuccessStatusCode();\n",
"\n",
" var content = await response.Content.ReadFromJsonAsync<HttpClientStudy.Model.Account>();\n",
" content.Display();\n",
"}\n",
"\n",
"/*\n",
" 方式三:手动序列化读取的响应内容\n",
"*/\n",
"{\n",
" var response = await SharedClient.GetAsync(\"/api/hello/GetAccount\");\n",
" response.EnsureSuccessStatusCode();\n",
"\n",
" var content = await response.Content.ReadAsStringAsync();\n",
" \n",
" var account = System.Text.Json.JsonSerializer.Deserialize<HttpClientStudy.Model.Account>(content);\n",
" account.Display();\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## HTTP Post"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"POST 请求将数据发送到服务器进行处理。 请求的 Content-Type 标头表示正文发送的 MIME 类型。 要在给定 HttpClient 和 Uri 的情况下发出 HTTP POST 请求,请使用 HttpClient.PostAsync 方法.\n",
"请求数据可选:包括 请求URL、路由、请求头、请求体(包括多种方式,后面详解)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
},
"vscode": {
"languageId": "polyglot-notebook"
}
},
"outputs": [],
"source": [
"//不带请求体\n",
"{\n",
" var response = await SharedClient.PostAsync(\"/api/hello/Post\",null);\n",
" response.EnsureSuccessStatusCode();\n",
"\n",
" var context = await response.Content.ReadAsStringAsync();\n",
"\n",
" Console.WriteLine(context);\n",
"}\n",
"\n",
"//带请求体\n",
"{\n",
" var account = new Account()\n",
" {\n",
" Id =0,\n",
" Name = \"小王\",\n",
" };\n",
"\n",
" //请求体有很多:后面专门章节讲解\n",
" var requestContent = new StringContent(System.Text.Json.JsonSerializer.Serialize(account), System.Text.Encoding.UTF8, System.Net.Mime.MediaTypeNames.Application.Json);\n",
"\n",
" var response = await SharedClient.PostAsync(\"/api/hello/AddAccount\", requestContent);\n",
" response.EnsureSuccessStatusCode();\n",
"\n",
" var context = await response.Content.ReadAsStringAsync();\n",
"\n",
" Console.WriteLine(context);\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## HTTP Put"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"PUT 请求方法会替换现有资源,或使用请求正文有效负载创建一个新资源。 要在给定 HttpClient 和 URI 的情况下发出 HTTP PUT 请求,请使用 HttpClient.PutAsync 方法。"