【Go语言Web开发】使用 JWT 保护您的 Go REST API
注意 - 本教程的完整源代码可以在这里找到:TutorialEdge/go-jwt-tutorial
JWT,或者更正式地称为 JSON Web 令牌,是一种紧凑的、URL 安全的方式,用于表示要在两方之间传输的声明。这本质上是一种令人困惑的说法,即 JWT 允许您以无状态但安全的方式将信息从客户端传输到服务器。
先决条件
在您阅读本文之前,您将需要以下内容:
- 您需要在开发机器上安装 Go 版本 1.11+。
介绍
JWT 标准使用 HMAC 算法的密钥或使用 RSA 或 ECDSA 的公钥/私钥对。
注意 - 如果您对 JWT 的正式定义感兴趣,那么我建议您查看 RFC:RFC-7519
这些在单页应用程序 (SPA) 中被大量用作安全通信的手段,因为它们允许我们做两件关键的事情:
【Go语言Web开发】使用 Golang 创建 RESTful API
如果您正在编写任何形式的 Web 应用程序,那么您很可能与 1 个或多个 REST API 交互,以填充应用程序的动态部分并执行更新或删除数据库中的数据等任务。
在本教程中,您将构建一个成熟的 REST API,它公开 GET、POST、DELETE 和 PUT 端点,随后将允许您执行全部范围的 CRUD 操作。
为了保持简单并专注于基本概念,我们不会与任何后端数据库技术交互来存储我们将要玩的文章。但是,我们将编写此 REST API,以便轻松更新我们将定义的函数,以便它们对数据库进行后续调用以执行任何必要的 CRUD 操作。
如果您想了解有关如何使用 Go 与数据库交互的更多信息,可以查看以下文章:
源代码 - 可以在此处找到本文的完整源代码:TutorialEdge/create-rest-api-in-go-tutorial
先决条件
您需要在开发机器上安装 Go 版本 1.11+。
【Go语言Web开发】使用 Gorilla Mux 和 PostgreSQL 在 Go 中构建和测试 REST API
介绍
本教程将说明如何在 Go 中构建由 PostgreSQL 支持的 REST API,使用 Gorilla Mux 进行路由。本教程将采用测试驱动开发,最后将解释如何在开发过程中对数据库进行持续测试。
目标
在本教程结束时,您将:
- 熟悉 Gorilla Mux,并且
- 了解如何使用持续集成 (CI) 针对数据库测试您的应用程序。
先决条件
本教程假设:
- 基本熟悉 Go 和 PostgreSQL,以及
- 你有工作的 Go 和 PostgreSQL 安装。您可以使用 Docker 轻松运行测试数据库。
您将在此存储库中找到演示的完整代码。
【Go语言Web开发】如何使用 Golang 和 PostgreSQL 构建 REST-API
Golang 是一种开源编程语言,可以轻松构建简单、可靠和高效的应用程序。它是一种新兴语言,开发了 Docker 和 Kubernetes 等技术。 Go 是一种编译语言。因此,当人们编写程序时,它会被编译并生成与该程序等效的机器代码。
本教程将讨论 Golang 并帮助我们使用 Golang 和 PostgreSQL 数据库创建一个 REST API 应用程序。
Golang 的历史
Go 是由谷歌开发的。 Go 通常被称为 Golang。由于其域名为golang.org,因此被称为Golang,原因是go.org无法使用。因此,Go 语言被缩写为 Golang,因此域名为 golang.org。
Golang 开发项目始于 2007 年,主要目标是利用多核处理器开发大型分布式系统和高度可扩展的网络服务器。
Golang 项目于 2009 年开源,其第一个初始版本 1.0 于 2012 年发布。Google Jetbrain 团队将 Go 称为最有前途的编程语言。
【Go语言Web开发 】使用 Fiber 在 Go 中构建基本的 REST API
Fiber 是一个新的基于 Go 的 Web 框架,它已经爆发并引起了编程社区的极大兴趣。 该框架的存储库一直位于 Go 编程语言的 GitHub 趋势页面上,因此,我想我会打开旧的 VS Code 并尝试构建一个简单的 REST API。
因此,在本教程中,我们将介绍如何使用这个新的 Fiber 框架开始在 Go 中构建自己的 REST API 系统!
在本教程结束时,我们将介绍:
- 项目设置
- 为图书管理系统构建 Simle CRUD REST API
- 使用附加包将项目分解为更可扩展的格式。
让我们潜入!
视频教程
本教程还提供视频格式:
https://youtu.be/Iq2qT0fRhAA
【Angular 】具有多个展开所有行的Angular材质12表格示例
在本教程中,我们将演示具有“全部展开”和“全部折叠”按钮的“角度”材质表,其中每一行可以分别展开和折叠。我们将使用Angular项目中的材质库来使用其MatTableModule API来构建数据表。
此Angular柱与Angular4兼容,直到最新版本,Angular-7、Angula尔·8、Angullar 9、Angula 10、Anguular 11、Angurar 12和Angulal 13
具有可扩展行的Material Datatable有助于以请求和查看方式表示数据。表格的每一行都显示一些重要的列详细信息,用户可以单击这些列详细信息以展开该行并显示更多详细信息。
使用Material Datatable,我们可以轻松地更改行和列结构,其中可以融合替换行,这将用于显示展开的视图数据。我们将了解如何添加动画效果以启用行的展开和折叠。
Material Datatables可以在HTML模板中以两种可能的方式实现:1)原生HTML表元素,包括table、tr、td或2)使用Display Flex,借助交替的Mat指令,包括Mat table、Mat row、Mat cell。我们将使用这两种方式演示展开折叠。
【Angular 】设置Angular 材质主题
What is theming?
Angular Material's theming system lets you customize color and typography styles for components in your application. The theming system is based on Google's Material Design specification.
【Angular 】修复在Angular Material中找不到AngularMaterial核心主题错误
Could not find Angular Material core theme
Last updated on 1 min read
I have been working with Angular Material for the past one year.
Recently I have created a new project with Angular Material.
Strangely, when I try to run the application nothing has been loaded in the webpage and in console log, I got a warning saying
【Angular 】将靛蓝粉色主题添加到我们的Angular 材料项目中
First install Angular Material:
npm install --save @angular/material @angular/cdk @angular/animations
In src/styles.css
add:
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
This comes in handy especially when working with Stackblitz. The latest Angular CLI will version will ask you if you want to add it when doing ng add @angular/material
.
【Angular 】带参数的Angular HTTP GET请求示例
Learn how make http get request with parameters in Angular using HttpClient.get() method
To do http get request with parameters in Angular, we can make use of params options argument in HttpClient.get()
method.
As explained in previous Angular HTTP get request tutorial, Http.get()
method takes two arguments