Web API学习笔记(一)—— 简介与创建

简介

一、ASP.NET Core 中的 REST

当你浏览网页时,Web 服务器将使用 HTML、CSS 和 JavaScript 与浏览器通信。 如果你与页面进行某种交互,例如提交登录窗体或选择购买按钮,浏览器会将信息发送回 Web 服务器。
同样,Web 服务器可以使用 Web 服务与各种各样的客户端(浏览器、移动设备、其他 Web 服务器等)通信。 API 客户端通过 HTTP 与服务器通信,两者都使用 JSON 或 XML 等数据格式来交换信息。 API 通常供单页应用程序 (SPA) 用于在 Web 浏览器中执行大部分用户界面逻辑。 与 Web 服务器的通信主要是通过 Web API 进行的。

二、 REST:用于使用 HTTP 生成 API 的常见模式

表述性状态转移 (REST) 是一种用于生成 Web 服务的体系结构样式。 REST 请求是通过 HTTP 发出的。 它们使用 Web 浏览器用于检索网页和将数据发送到服务器的相同 HTTP 谓词。 谓词如下:
GET:从 Web 服务检索数据。
POST:在 Web 服务上创建新的数据项。
PUT:更新 Web 服务上的数据项。
PATCH:通过描述有关如何修改项的一组说明,更新 Web 服务上的数据项。 本模块中的示例应用程序不使用此谓词。
DELETE:删除 Web 服务上的数据项。
遵循 REST 的 Web 服务 API 称为 RESTful API。 它们通过以下方法进行定义:
一个基 URI。
HTTP 方法,如 GET、POST、PUT、PATCH 或 DELETE。
数据的媒体类型,例如 JavaScript 对象表示法 (JSON) 或 XML。
API 通常需要为几种不同但相关的事物提供服务。 例如,我们的披萨 API 可以管理披萨、客户和订单。 我们使用路由,以将 URI 映射到代码中的逻辑分区,从而将向 https://localhost:5000/pizza 发出的请求路由到 PizzaController,并将向 https://localhost:5000/order 发出的请求路由到 OrderController。

三、在 ASP.NET Core 中创建 API 的好处

借助 ASP.NET,可以使用相同的框架和模式来生成网页和服务。 这意味着可以在同一个项目中重用模型类和验证逻辑,甚至还可以并行为网页和服务提供服务。 此方法有很多优点:
简单的序列化:ASP.NET 设计用于提供新式 Web 体验。 终结点会自动将类序列化为格式正确的现成 JSON。 不需要特殊配置。 当然,你可以为具有独特要求的终结点自定义序列化。
身份验证和授权:出于安全原因,API 终结点内置了对行业标准 JSON Web 令牌 (JWT) 的支持。 基于策略的授权使你可以灵活地在代码中定义强大的访问控制规则。
与代码一起路由:ASP.NET 让你可以使用属性来定义与代码内联的路由和谓词。 请求路径、查询字符串和请求正文中的数据将自动绑定到方法参数。
默认使用 HTTPS:HTTPS 是新式专业 Web API 的一个重要组成部分。 它依赖于端到端加密来提供隐私保护,并有助于确保 API 调用不会在客户端和服务器之间被截获和更改。
ASP.NET 提供对 HTTPS 的现成支持。 它会自动生成测试证书,并轻松导入该证书以启用本地 HTTPS,使你可以在发布应用程序之前安全地运行并调试应用程序。

四、与 .NET 应用共享代码和知识

使用 .NET 技能和生态系统,与使用 .NET 生成的其他应用(包括移动应用、Web 应用、桌面应用和服务)共享 Web API 的逻辑

五、使用 .NET HTTP REPL 测试 Web API

当你开发传统网站时,你通常会在 Web 浏览器中查看和测试工作成果。 Web API 接受并返回数据而不是 HTML,因此 Web 浏览器不是最佳的 Web API 测试工具。
用于浏览 Web API 以及与其交互的最简单选项之一是 .NET HTTP REPL。 REPL 表示读取-求值-打印循环 (read-evaluate-print loop)。 这是一种简单而常用的交互式命令行环境构建方法。

创建

官网下载好visual studio
Mac下visual studio操作流程

一、打开visual studio

在这里插入图片描述

二、选择Web—>API—>下一步

在这里插入图片描述

三、不勾选配置HTTPS—>下一步

在这里插入图片描述

四、设置项目名称—>创建

在这里插入图片描述

基础项目架构简介

在这里插入图片描述
可以看到如下项目层级一个简单 MVC 架构,这里:
M表示WeatherForecast.cs可用model文件夹管理
V运行可以看到
在这里插入图片描述C表示WeatherForecastController.cs管理在Controllers文件夹中

其中launchSettings.json主要用于运行后Html显示哪个控制器传来的消息。
appsettings.json为应用的一些设置信息,基本上不用改动。

下一节: Web API学习笔记(二)—— 基本WebApi架构配置详解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值