一、ASP.NET Core WebApi课程介绍

人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过WebAPI用起来更简单,更轻量级,更流行。构建一个优秀的API依赖于伟大的框架,今天我们的主角当然是微软的跨平台轻量级HTTP服务框架——Asp.net Core WebApi。今天阿笨将给大家带来的分享课程是如何利用ASP.NET Core WebApi跨平台开发技术构建我们的API服务应用程序并在部署运行不同的OS系统平台上,真真的体现.NET Core的跨平台强大之处: 实现一次编译,多平台部署运行!

1.1、本次分享课程包含知识点如下:

★与ASP.NET Core WebAPI的第一次亲密接触

★ ASP.NET Core WebAPI集成Swagger在线API接口文档

★ ASP.NET Core WebAPI如何实现多接口版本控制

★ ASP.NET Core WebApi标准格式化统一输出响应报文数据

★ ASP.NET Core WebApi标准格式化统一输出异常报文数据

★ 开箱即用的BaseApiController工具基类,WebApi你值得拥有

★ ASP.NET Core WebApi开启服务端跨域CORS

★ ASP.NET Core WebApi复杂参数传递使用技巧小结

★ 客户端(C/S,B/S)如何调用ASP.NET Core WebApi服务接口

★ 如何在Docker容器中运行ASP.NET Core应用

 1.2、正确的学习课程方式须知

1)、视频+实例源代码配套学习,一千个读者就有一千个哈姆雷特,仁者见仁智者见智!

2)、基础理论和实战演练相结合,切记眼高手低。(备注:本课程不是完完全全的零基础教学,课程侧重是实战演练,因此需要大家结合自身的实际情况进行选择学习)

3)、在学习的过程中,我们少一点抱怨,将多一份收获。

如果您在学习过程中遇到任何的课程问题,请先私下直接找阿笨老师进行在线的沟通和交流。谢谢大家的理解和支持,预祝大家学习快乐!

1.3、本课程适合人群如下:

1)、有一定的ASP.NET Core开发基础。

2)、学习和了解ASP.Net Core跨平台开发技术。

3)、喜欢阿笨分享的干货课程童鞋们。

1.4、一句话总结今天我们学习达到的目标:

如何使用基于ASP.NET Core WebApi跨平台技术快速的来构建API接口服务。

如果您同样对本次分享《ASP.NET Core WebApi构建API接口服务实战演练》课程感兴趣的话,那么请跟着阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、与ASP.NET Core WebAPI的第一次亲密接触

1、本次分享课程环境说明

1)、Visual Studio 2019企业版。

2)、.Net Core 3.0。

三、ASP.NET Core WebAPI集成Swagger在线API接口文档

Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.NET Core Web API 的 Swagger 文档。

1、什么是Swagger?

Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful API,它是为了解决Web API生成有用文档和帮助页的问题。

2、为啥选用swagger?

1)它具有交互式文档、客户端SDK生成和API可发现性等优点。

2)书写api说明文档的工具有很多,但是能称之框架只有swagger

使用程序包管理器控制台窗口:

Install-Package Swashbuckle.AspNetCore

3、为什么说漂亮的在线API接口文档漂亮?

1)、支持接口自定义分组显示。

2)、接口多版本与swagger的完美集成。

Install-Package Swashbuckle.AspNetCore.Swagger

Install-Package Swashbuckle.AspNetCore.SwaggerUi

Install-Package Swashbuckle.AspNetCore.SwaggerGen

ASP.NET Core WebApi跨平台技术从入门到实战演练

四、ASP.NET Core WebAPI如何实现多接口版本控制

a)使用不同的 API 名称

https://yuiter.com/api/Secret/Login   ——1.0

https://yuiter.com/api/Secret/NewLogin ——2.0

b)在 Url 中标明版本号

https://yuiter.com/api/v1/Secret/Login ——1.0

https://yuiter.com/api/v2/Secret/Login ——2.0

c)请求参数中添加版本信息

https://yuiter.com/api/Secret/Login?version=1 —— 1.0

https://yuiter.com/api/Secret/Login?version=2 —— 2.0

d)在 header 中标明版本号

POST https://yuiter.com/api/Secret/Login

Host: yuiter.com

api-version: v1 —— 1.0

POST https://yuiter.com/api/Secret/Login

Host: yuiter.com

api-version: v2 —— 2.0

Install-Package  Microsoft.AspNetCore.Mvc.Versioning

Install-Package Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer

五、ASP.NET Core WebApi标准格式化统一输出响应报文数据

1)、public ResponseResult<IEnumerable<WeatherForecast>> Get()

2)、[ApiResponseTyppeAttribute(typeof(ResponseResult<WeatherForecast>))]

public IActionResult Get()

ASP.NET Core WebApi跨平台技术从入门到实战演练

六、ASP.NET Core WebApi标准格式化统一输出异常报文数据

ASP.NET Core WebApi跨平台技术从入门到实战演练

七、开箱即用的BaseApiController工具基类,WebApi你值得拥有

八、ASP.NET Core WebApi开启服务端跨域CORS

CORSCORS (Cross-Origin Resource Sharing, 跨源资源共享) 是W3C出的一个标准,其思想是使用自定义的 HTTP 头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功,还是应该失败。CORS 与 JSONP 都可以做到跨源资源共享,但与 JSONP 不同,CORS 可以支持除 GET 方式以外所有类型的 HTTP 请求。

在ASP.NET Core的应用程序开发中,特别是开发ASP.NET Core Web API的接口程序会遇到跨域问题。这时我们需要开启ASP.NET Core服务端的跨域(CORS)功能,那么应该如何开启呢?

如果两个 Url 具有相同的方案、主机和端口,则它们具有相同的源。

这两个 Url 具有相同的源:

https://example.com/foo.html

https://example.com/bar.html

这些 Url 的起源不同于前两个 Url:

https://example.net–不同域

https://www.example.com/foo.html–不同子域

http://example.com/foo.html–不同方案

https://example.com:9000/foo.html–不同端口

使用 jQuery:

$.ajax({

type: 'post',

url: 'http://localhost:5000/home/fromBodyTest',

contentType: 'application/json',

data: JSON.stringify({

name: 'beck'

}),

xhrFields: {

withCredentials: true//配置http跨域请求中携带cookie

},

success: function (result) {

$('#result').html(result.data);

}

});

通过以上代码简单的修改,就实现了 CORS 。在实际的内网或生产环境,可能会从运维层面通过 Nginx 或者其他的设置做到不修改代码也能完美支持

九、ASP.NET Core WebApi复杂参数传递使用技巧小结

十、客户端(C/S,B/S)如何调用ASP.NET Core WebApi服务接口

十一、如何在Docker容器中运行ASP.NET Core应用

一、如何在不同操作系统中部署托管我们的ASP.NET Core应用程序

ASP.NET Core部署在IIS和Linux系统中,在前面的基础课程中已经给大家详细的分享过了,这里就没必要浪费时间再次讲解这块了知识了,不清楚的童鞋有兴趣的话可以去学习一下。《ASP.NET Core托管和部署Linux实操演练手册》、《Linux+Nginx+Supervisor部署ASP.NET Core实操手册》

二、如何将ASP.NET Core部署托管在Docker容器

在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker ,就不用担心环境问题。 简单一句话:Docker它很火,作为开发人员有必要去学习和了解。

实现方法:如何采用Dockerfile将构建制作ASP.NET Core应用程序镜像

1)、把源码复制到宿主机中进行编译、打包,最后并制作容器镜像。

2)、将打包、编译好的文件直接复制到宿主机中,制作容器镜像。

十二、总结

由于本次分享课程并不是零基础教学,课程的侧重点是实战运用,如何使用ASP.NET Core WebApi来构构建我们的跨平台API服务应用程序,所以课程中可能有些扩展的知识点并没有深度的讲解,阿笨也只是起到抛砖引玉的作用,所以需要大家在实际工作中不断的总结和完善。

关于我们的WebApi如何实现接口身份授权验证,如果大家感兴趣的话,也可以学习一下阿笨的《ASP.NET Core WebApi基于JWT实现接口授权验证》课程。

现在.NET Core的春天已经到来了,我们学习一门新技术一定要做到学以致用、学而时习之, 孔子说的好:学而不思则罔,思而不学则殆 ;一定要将我们所学的东西运用到实际项目当中去,实践是检验真理的唯一标准!一定要让我们的.NET Core跨平台开发技术落地到Linux生产环境当中去。

希望本次分享课程能够让大家有所收获!最后送大家一句话:希望大家在.NET Core的学习道路上一直跟着阿笨坚持下去。

作者:阿笨

      官方QQ群:422315558  574187616 967920586

      【网易云课堂主页】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628

      【腾讯课堂主页】:https://abennet.ke.qq.com/

      【微信公众号】:http://dwz.cn/ABenNET

ASP.NET Core WebApi构建API接口服务实战演练相关推荐

  1. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  2. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  3. 【Vue】Vue与ASP.NET Core WebAPI的集成

    SPA单页面应用已经遍地开花,熟知的三大框架,Angular.Vue和React,其中Angular与React均可集成至ASP.NET Core,且提供了相关了中间件.但是Vue没有: " ...

  4. Asp.Net Core WebAPI+PostgreSQL部署在Docker中

    PostgreSQL是一个功能强大的开源数据库系统.它支持了大多数的SQL:2008标准的数据类型,包括整型.数值值.布尔型.字节型.字符型.日期型.时间间隔型和时间型,它也支持存储二进制的大对像,包 ...

  5. asp.net core WebAPI实现CRUD

    本节用于构建一个简单的WebAPI来管理to-do列表.不会创建用户界面. API Description Request body Response body GET /api/todo Get a ...

  6. 第十三节:Asp.Net Core WebApi基础总结和请求方式-第十八节

    一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...

  7. Vue + Element+ ASP.NET Core WebAPI 文件上传下载

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备asp.net后端文件上传的API Uplo ...

  8. ASP.Net Core WebApi几种版本控制对比

    ASP.Net Core WebApi几种版本控制对比 原文:ASP.Net Core WebApi几种版本控制对比 一.版本控制的好处: (1)有助于及时推出功能, 而不会破坏现有系统. (2)它还 ...

  9. Asp.Net Core 5 REST API - Step by Step(一)

    翻译自 Mohamad Lawand 2021年1月19日的文章 <Asp.Net Core 5 Rest API Step by Step> [1] 在本文中,我们将创建一个简单的 As ...

最新文章

  1. 求字符串全排列 python实现
  2. Python基础学习笔记--字符串、列表
  3. 不可错过! CMU《高级自然语言处理》
  4. 尚未整理【风控】互联网金融-构建评分卡模型部分知识点
  5. 敏捷之道Scrum篇
  6. es6-Symbol
  7. 工作总结的写作方法与要领
  8. 0-C相关01:NSlog函数介绍。
  9. Linux下搭建SVN服务器及自动更新项目文件到web发布目录(www)
  10. mysql下拉框记忆,Mysql alter语句记忆分析
  11. git 教程2 (git常用命令解说)
  12. how is SAP UI5 oContext is determined
  13. Base64加解密的实现方式
  14. MoCo不适用于目标检测?MSRA提出对象级对比学习的目标检测预训练方法SoCo!性能SOTA!(NeurIPS 2021)...
  15. 新手如何开始学习3D建模?美术基础重不重要?
  16. android emulator虚拟设备之qemu pipe分析(三)
  17. [PAT A1043]Is is a Binary Search Tree
  18. 基于SIMULINK的AWGN信道仿真
  19. 【shareX】自定义图片上传-基于tu.my最新版API
  20. iPhone 14连夜跌至4800元,现在应该直接入手14,还是等15?

热门文章

  1. 2020-2021下学期 奖状的清单
  2. 无房产证明怎么办理?
  3. QEMU 简介(一)
  4. 关于 Thread.currentThread()
  5. 2016第1篇--Python查看微信被删好友
  6. pandas笔记之分列
  7. 管家婆服务器备份文件夹,请问管家婆数据备份在哪里?如何恢复?
  8. 台电TBOOK16PRO安装凤凰安卓系统
  9. 运算电路的频率响应与冲激响应
  10. 其实大多数人没必要关注iPhone5