社区项目开发过程中的知识补充

社区项目开发学习记录


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:记录自己的学习过程

一、API文档相关

1.swagger

Swagger是一种用于构建、文档化和测试Web服务的工具集。它的主要作用是帮助开发者更轻松地设计、开发和维护API,并提供了一系列工具来实现这些目标。

通俗来讲,Swagger就像是一个给Web服务打造“说明书”的工具,它的作用主要体现在以下几个方面:

  1. API设计和开发: Swagger提供了一种规范化的方式来定义API的各种信息,包括API的端点、参数、请求和响应等。通过Swagger,开发者可以清晰地定义和设计API的结构,使得开发过程更加标准化和规范化。

  2. API文档生成: Swagger可以根据API的定义自动生成API文档,包括API的描述、示例请求和响应、参数说明等信息。这样,开发者可以轻松地生成、更新和维护API文档,提高文档的质量和可读性。

  3. API测试: Swagger提供了交互式的API测试界面,开发者可以直接在Swagger UI中进行API的测试,包括发送请求、查看响应、调试参数等操作。这有助于开发者快速测试API的功能和性能,提高开发效率和质量。

  4. 客户端代码生成: Swagger可以根据API的定义自动生成客户端代码,包括各种语言和框架的代码模板。这样,开发者可以直接使用自动生成的客户端代码来调用API,减少手动编写代码的工作量。

总的来说,Swagger是一个帮助开发者设计、开发、文档化和测试Web服务的强大工具,它可以提高API的设计和开发效率,减少错误和重复工作,使得开发过程更加顺畅和高效。

通俗的来讲,一个后端程序员写了一个登录接口,想要测试自己写的接口是否符合预期,需要模拟用户的行为,输入正确的用户名密码等,比较繁琐,使用swagger可以通过简单的配置生成接口的展示页面,把接口的请求参数,返回结果通过可视化形式进行展现。这样不需要后端开发人员编写接口文档

2.RESTful接口的设计原则

  1. 资源(Resources): 在RESTful接口中,每个资源都有一个唯一的标识符(URI),可以通过该标识符对资源进行访问和操作。资源可以是任何事物,比如用户、文章、订单等。

  2. 动词(Verbs): RESTful接口使用标准的HTTP方法(GET、POST、PUT、DELETE等)来表示对资源的不同操作。通过不同的HTTP方法来执行对资源的查询、创建、更新和删除等操作。

  3. 表现层(Representation): 资源的表示形式不限于特定的数据格式,可以是JSON、XML、HTML等。客户端和服务器之间通过资源的表现形式进行交互。

  4. 无状态(Stateless): RESTful接口是无状态的,即每个请求都包含足够的信息来理解该请求,而不需要依赖于之前的请求。服务器不会保存客户端的状态信息,每个请求都是独立的。

  5. 超媒体(Hypermedia): RESTful接口可以使用超媒体作为资源之间的关系和导航方式。通过在资源表现形式中包含链接信息,客户端可以动态地发现和导航资源。

总的来说,RESTful接口是一种基于REST原则的Web服务接口设计风格,它强调资源的标识、动词的操作、表现层的多样性、无状态的通信和超媒体的导航。通过遵循RESTful接口设计原则,可以构建出清晰、灵活和易于理解的Web服务接口。
Knife4j是一种基于Swagger的增强型API文档生成工具,专门用于为Java后端项目生成API文档。它是Swagger的一个扩展,提供了更加强大和灵活的功能,帮助开发者更好地设计、管理和测试API接口。

3.Knife4j的主要特点和功能包括:

Knife4j是基于Swagger的增强型API文档生成工具,因此它与Swagger有着密切的联系,但也有一些区别。

联系:

  1. 基于Swagger: Knife4j是建立在Swagger之上的,它直接使用Swagger生成的API文档信息,提供了更加美观、易用的UI界面以及一些额外的功能。

  2. 功能补充: Knife4j在Swagger的基础上提供了一些额外的功能,如更美观的UI界面、接口测试工具等,这些功能使得Knife4j更加适用于实际项目开发中。

  3. Spring Boot集成: Knife4j与Spring Boot等Java框架集成更加紧密,提供了更好的开箱即用的体验,使得在Spring Boot项目中使用Knife4j更加方便。

区别:

  1. UI界面设计: Knife4j提供了更加美观、易用的UI界面,相比Swagger的原生UI界面,Knife4j更加现代化、用户友好。

  2. 功能扩展: Knife4j在Swagger的基础上增加了一些额外的功能,如接口测试工具、更强大的注解支持等,这些功能使得Knife4j更加灵活和强大。

  3. 定制化程度: Knife4j提供了丰富的扩展机制,开发者可以根据项目的需求进行定制和扩展,使得Knife4j更加适用于不同的项目需求。

总的来说,Knife4j是基于Swagger的增强型API文档生成工具,它与Swagger有着密切的联系,并在Swagger的基础上提供了更加美观、易用和功能丰富的API文档解决方案。

4.JWT(JSON Web Token) Afterscript:

JWT(JSON Web Token)是一种用于在网络上安全地传输信息的开放标准(RFC 7519)。它可以在用户和服务器之间安全地传递认证信息,通常用于实现无状态的身份验证机制。

通俗地讲,JWT可以理解为一种“加密的身份证”,它包含了用户的身份信息和其他相关的元数据,并使用数字签名或加密算法进行保护,以确保信息的完整性和安全性。在用户登录成功后,服务器会生成一个JWT并返回给客户端,客户端在后续的请求中携带该JWT作为身份凭证。服务器接收到带有JWT的请求后,会验证JWT的签名和有效期,并根据其中的用户信息来进行权限验证和授权操作。

举个例子来说,假设有一个网站,用户需要登录后才能访问某些受保护的页面。当用户成功登录后,服务器会生成一个JWT,并将其返回给客户端。客户端在后续的请求中携带这个JWT,服务器接收到请求后,会验证JWT的有效性和签名,然后根据其中的用户信息来判断用户是否有权限访问请求的页面。

afterScript 是在 JWT 验证通过后,可选的执行脚本。通常用于一些额外的处理逻辑,比如记录日志、更新用户状态等。
当我们谈论JWT(JSON Web Token)时,可以想象成一个特殊的身份证。假设你去参加一个聚会,但是只有在你出示身份证的情况下才能进入。JWT就像是一种数字身份证,里面存储着你的个人信息,例如姓名、年龄、性别等等。当你出示JWT时,门卫会验证它的有效性和真实性,然后根据里面的信息决定是否让你进入聚会。在这个例子中,JWT是用来验证你的身份,以确保你有资格参加聚会。

而afterscript是在验证JWT成功后,可选的执行脚本。可以把它想象成进入聚会后发生的事情。例如,门卫可能会在你进入聚会后记录下你的到来时间,或者给你一个特殊的标识来表明你已经通过了身份验证。这些额外的操作就是afterscript,它们可以在验证JWT成功后执行,以完成一些额外的处理逻辑。

二、MVC架构

1.View

view主要用来接收一些表单请求,包括表单,超链接,Ajax等
这里再回顾一下AJAX(Asynchronous JavaScript and XML)
即异步的javascript和XML
无需刷新页面更新内容:
通过 Ajax,网页可以在后台与服务器进行数据交换,然后根据返回的数据更新页面的特定部分,而无需重新加载整个页面。
提升用户体验:
由于无需重新加载整个页面,用户可以更快地获取更新的内容,这提高了用户的满意度和体验。
节省带宽和服务器负载:
因为只有页面的一部分需要更新,而不是整个页面,所以 Ajax 技术可以节省带宽和减轻服务器的负载,这对于高流量的网站尤其重要。
与服务器异步通信:
Ajax 允许页面与服务器进行异步通信,这意味着页面可以继续执行其他操作而不必等待服务器响应,从而提高了性能和效率。
作用:与服务器进行数据交换
用HTML+AJAX替换jsp页面。

2.controller

3.Model

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值