零、前言

本书将带领读者了解 RESTful web 服务的设计,并利用 ASP.NET Core 框架来实现这些服务。 从 REST 背后的基本哲学出发,读者将了解设计和实现企业级 RESTful web 服务的步骤。 采用实际的方法,每一章都提供了可以应用于您自己环境的代码示例。 它带来了最新的。net Core 版本的强大功能,使用 MVC。 然后,本文超越了框架的使用,探讨了解决弹性、安全性和可伸缩性问题的方法。 读者将学习在 Web api 中处理安全性的技术,并了解如何实现单元和集成测试策略。 最后,本书将带您为 RESTful web 服务构建一个. net 客户机,以及一些可伸缩技术。

这本书是给谁的

本书面向那些想要学习使用最新的。NET Core 框架构建 RESTful web 服务的人。 为了更好地利用书中包含的代码示例,你应该具备 c#和。net Core 的基本知识。

这本书的内容

第 1 章,入门将涵盖计划阶段,解释如何根据我们的需求或问题陈述来确定一个完美的技术堆栈,以及 RESTful 和 RESTless 服务的基本方面。

第二章Build Initial Framework - Layout Foundation of Application,将让你熟悉各种方法的概念,如 get, POST, PUT, DELETE 等。

第三章,用户注册与管理,将让您熟悉 ASP 的认证.NET Core 2.0、实体框架核心、基本身份验证和 OAuth 2.0。

第四章商品目录,购物车,收银台,将帮助您了解 ASP 的复杂组件.NET Core,包括。NET Standard 2.0,同时构建电子商务应用的不同部分。

第 5 章,集成外部组件和处理将帮助你理解中间件,使用中间件实现日志记录,认证和资源限制。

第六章,测试 RESTful Web 服务,将使您熟悉测试范例、测试概念、存根和 mock、安全测试和集成测试。

第七章、持续集成和持续部署将让您通过 VSTS 和 Azure 熟悉 CI 和 CD 概念。

第八章安全 RESTful Web 服务将帮助您了解各种安全技术,包括基本身份验证、XSS 攻击、数据加密。

第 9 章、伸缩 RESTful 服务(Web 服务的性能)将解释向内、向外伸缩以及各种伸缩模式。

第 10 章、构建 Web 客户端(消费 Web 服务)将教给读者 ASP. net 的基本知识.NET Core 和 Rest 客户端与 RestSharp。

第 11 章微服务概述,通过 ASP 覆盖微服务中的生态系统,对微服务进行了概述。 净的核心。

从这本书中得到最大的收获

读者应该具备。net Core 和。net Standard 的知识,以及 c#、RESTful Services、Visual Studio 2017(作为一个 IDE)、Postman、Advanced Rest Client 和 Swagger 的基本知识。

要设置系统,读者的机器上应该有以下内容:

下载示例代码文件

您可以从您的帐户www.packtpub.com下载本书的示例代码文件。 如果您在其他地方购买了这本书,您可以访问www.packtpub.com/support并注册,将文件直接通过电子邮件发送给您。

你可以按以下步骤下载代码文件:

  1. 登录或注册在www.packtpub.com
  2. 选择 SUPPORT 选项卡。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入书名,并按照屏幕上的说明操作。

下载文件后,请确保使用最新版本的解压或解压缩文件夹:

  • 解压缩的软件/ 7 - zip 窗口
  • Zipeg / iZip UnRarX Mac
  • 7 - zip / PeaZip Linux

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Building-RESTful-Web-services-with-DOTNET-Core。 如果代码有更新,它将在现有的 GitHub 存储库中更新。

我们还可以在https://github.com/PacktPublishing/中找到丰富的图书和视频目录中的其他代码包。 检查出来!

下载彩色图像

我们还提供了一个 PDF 文件,其中包含了本书中使用的屏幕截图/图表的彩色图像。 您可以从https://www.packtpub.com/sites/default/files/downloads/BuildingRESTfulWebServiceswithDOTNETCore_ColorImages.pdf下载。

约定使用

本书中使用了许多文本约定。

CodeInText:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 url、用户输入和 Twitter 句柄。 下面是一个示例:“TheHeader必须作为信封的第一个子元素出现在 body 元素之前。”

一段代码设置如下:

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
 xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
 SOAP-ENV:encodingStyle = "http://www.w3.org/2001/12/soap-encoding">
 ...
 SOAP Message information goes here
 ...
</SOAP-ENV:Envelope>

当我们希望提请您注意代码块的特定部分时,相关的行或项以粗体显示:

{
  // GET: api/Products
  [HttpGet]
  public IEnumerable<Product> Get()
  {
    return new Product[]
    {
      new Product(1, "Oats", new decimal(3.07)),
      new Product(2, "Toothpaste", new decimal(10.89)),
      new Product(3, "Television", new decimal(500.90))
    };
  }
}

粗体:表示新词条、重要词汇或在屏幕上看到的词汇。 例如,菜单或对话框中的单词会像这样出现在文本中。 下面是一个例子:“简单对象访问协议(SOAP)是一种基于 xml 的消息传递协议,用于在计算机之间交换信息。”

Warnings or important notes appear like this. Tips and tricks appear like this.

取得联系

我们欢迎读者的反馈。

一般反馈:发邮件feedback@packtpub.com,并在邮件主题中提及书名。 如果您对本书的任何方面有任何疑问,请发送电子邮件至questions@packtpub.com

Errata:尽管我们已尽一切努力确保内容的准确性,但错误还是会发生。 如果您在这本书中发现了错误,请向我们报告,我们将不胜感激。 请访问www.packtpub.com/submit-errata,选择您的图书,点击勘误表提交链接,并输入详细信息。

盗版:如果您在互联网上发现我们作品的任何形式的非法拷贝,请提供我们的位置地址或网址。 请通过copyright@packtpub.com与我们联系,并提供相关材料的链接。

如果你有兴趣成为一名作家:如果你有一个你擅长的主题,并且你有兴趣写作或写一本书,请访问authors.packtpub.com

评论

请留下评论。 一旦你阅读和使用这本书,为什么不在你购买它的网站上留下评论? 潜在的读者可以看到并使用您的公正意见来做出购买决定,我们在 Packt 可以理解您对我们的产品的看法,我们的作者可以看到您对他们的书的反馈。 谢谢你!

有关 Packt 的更多信息,请访问packtpub.com