You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PolyglotNotebooksStudy/Docs/多语言笔记.4.1.使用WebApi.ipynb

297 lines
6.2 KiB
Plaintext

This file contains ambiguous Unicode characters!

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.

{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# 使用 ASP.NET Croe WebApi"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 添加 Nuget 包"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"// 可以先添加包源\n",
"#i \"https://api.nuget.org/v3/index.json\"\n",
"\n",
"//添加 Nuget 包\n",
"#r \"nuget: microsoft.dotNet.interactive.aspnetcore,*-*\""
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 使用端点放出API"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"//引入之后就会暴露 aspnetcore 的东西,比如 App Endpoints WebApplication 等等,可以使用\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"var responseMessage1 = await HttpClient.GetAsync(\"/\");\n",
"\n",
"responseMessage1.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"Endpoints.MapInteractive(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapInteractive!\");\n",
"});\n",
"\n",
"Endpoints.MapInteractive(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapInteractive 2!\");\n",
"});\n",
"\n",
"var responseMessage2 = await HttpClient.GetAsync(\"/\");\n",
"\n",
"responseMessage2.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"//using Microsoft.DotNet.Interactive.AspNetCore;\n",
"\n",
"App.Use(next =>\n",
"{\n",
" return async httpContext =>\n",
" {\n",
" await httpContext.Response.WriteAsync(\"Hello from middleware!\");\n",
" };\n",
"});\n",
"\n",
"var responseMessage3 = await HttpClient.GetAsync(\"/\");\n",
"responseMessage3.Display();\n",
"\n",
"var responseBody3 = await responseMessage3.Content.ReadAsStringAsync();\n",
"responseBody3.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"App.Use(next =>\n",
"{\n",
" return async httpContext =>\n",
" {\n",
" await httpContext.Response.WriteAsync(\"Hello from middleware!\");\n",
" };\n",
"});\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"var responseMessage4 = await HttpClient.GetAsync(\"/\");\n",
"responseMessage4.Display();\n",
"\n",
"var responseBody4 = await responseMessage3.Content.ReadAsStringAsync();\n",
"responseBody4.Display();\n",
"\n",
"App.Use(next =>\n",
"{\n",
" return async httpContext =>\n",
" {\n",
" await httpContext.Response.WriteAsync(\"Hello from middleware!\");\n",
" };\n",
"});\n",
"\n",
"var responseMessage2 = await HttpClient.GetAsync(\"/\");\n",
"responseMessage2.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"await HttpClient.GetAsync(\"/\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"await HttpClient.GetAsync(\"/\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"HttpClient.BaseAddress"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"App.Display()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
},
{
"aliases": [],
"name": "razor"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}