SpringBoot学习总结
- 格式:docx
- 大小:65.84 KB
- 文档页数:10
新⼈踩坑的⼀天——springboot注⼊mapper时出现ng.NullP。
来公司的第⼆周接到了定时任务的开发需求:每天早上⼗点发送⽤户报表邮件。
校招新⼈菜鸟没做过这玩意有些懵(尴尬)于是决定分步写,从excel导出->邮件发送->定时器实现->mapper层返回集接收,前⼏步都没啥问题,都在service层,可以⽤main⽅法单独测试下,可以发送邮件,但是通过service调⽤mapper时问题就来了——菜鸟踩坑了,抛出ng.NullPointerException,下图是代码:@Component@EnableScheduling@Service("cronTaskService")public class CronTaskServiceImpl implements CronTaskService {@Resourceprivate ExportExcelServiceImpl exportExcelService;@Resourceprivate MailSendServiceImpl mailSendService;private final static Logger log = LoggerFactory.getLogger(CronTaskServiceImpl.class);private static int Count = 0;@Scheduled(cron = "*/10 * * * * ?")@Overridepublic void out(){new ExportExcelServiceImpl().exportExcel("zhoubaobiao1");//String filePath = exportExcelService.exportExcel("周报表" + Count++ + ".xls");//mailSendService.sendEmail(filePath);("-----------success-------\n");}}问了组内的前辈(应该也是没做⼏年),问题解决不了,定位不对。
springboot学习心得SpringBoot是一个Java后端开发框架,它的出现极大地简化了项目的搭建和配置。
我在学习过程中,深刻体会到了SpringBoot的优势和便利性。
一、SpringBoot的特点SpringBoot具有以下几个显著特点:1. 简化的配置:SpringBoot采用约定大于配置的原则,减少了繁琐的配置,大部分情况下,你只需要一些简单的配置就可以运行一个站点或者服务。
2. 内嵌式Servlet容器:SpringBoot使用内嵌式Servlet容器(如Tomcat、Jetty等),使得运行Web应用变得更加简单,开发人员无需手动部署外部的Servlet容器。
3. 自动化配置:SpringBoot会根据项目中使用的依赖自动进行配置,无需手动配置。
当然,你也可以根据自己的需求进行定制化配置。
4. 准生产级别的监控:SpringBoot集成了大量的监控工具和健康检查机制,可以方便地监控应用的运行状态和健康情况。
二、学习过程中的收获在学习SpringBoot的过程中,我深刻体会到了以下几个方面的收获:1. 快速上手:相较于传统的Spring框架,SpringBoot的上手难度明显降低。
通过简单的配置和约定,可以快速搭建一个基本功能的应用程序。
2. 开发效率提升:SpringBoot的自动化配置使得开发过程更加高效。
通过减少繁琐的配置和重复的代码,开发人员可以更专注于业务逻辑的实现。
3. 生态丰富:SpringBoot与众多Spring家族的库和工具相互配合,拥有庞大的生态系统。
这使得我们可以很方便地集成各种功能和组件,如数据库访问、消息队列、缓存等。
4. 可维护性提升:SpringBoot的规范化配置和约定使得代码更加易读易维护。
项目的结构清晰,配置文件统一,便于团队协作和后续代码维护。
三、未来的学习计划在学习SpringBoot过程中,我发现了自己的不足和需要继续提升的地方。
因此,我在未来的学习计划中将重点提升以下几个方面:1. 深入学习SpringBoot的原理和内部机制,了解其背后的设计理念和实现方式。
10分钟创建一个SB应用:1.创建项目2将springboot的版本改为1.5.6(不修改后面操作数据库会报类找不到)<version>1.5.6.RELEASE</version>3.pom.xml中配置3个数据库相关的内容4.在入口文件增加注解(不注解会导致mapper识别不到):@MapperScan("com.example.demo.mapper")5.创建generator/generatorConfig.xml文件,并修改数据库账号密码、包名、表名6.修改application.yml,增加数据源相关的配置7.创建一个maven的Run配置,设置mybatis-generator:generate -e8.编写Service接口和Service实现类9.编写Controller和方法10.启动应用创建项目https:///lom9357bye/article/details/69677120通过tomcat部署项目https:///PJH-Forever/p/8026330.htmlspring boot configuration annotation proessor not found in classpath引入如下依赖:<dependency><groupId> org.springframework.boot </groupId><artifactId> spring-boot-configuration-processor </artifactId><optional> true </optional></dependency>pom.xml中的parent只有parent设置了,后面的才不用写version;没有在parent中设置的,后面必须写version,否则只会下载一个unknown的错误包一些tips:spring boot 2.0相比1.5.x,变更比较大,一些类去除了,因此要注意不同版本的api如果在generatorConfig.xml中配置了某个表,但是没有用到,那么程序起来的时候会报错;删除即可Durid包含的主要功能:1)使用StaFilter插件进行监控数据库访问性能2)替换DBCP和C3P0,提供一个高效、可扩展的数据库连接池3)支持数据库密码的加密4)SQL执行日志5)提供了一个监控页面,可以查看sql情况控制器中通过@RequestBody获取POST参数报错:{"timestamp":1527154727083,"status":415,"error":"Unsupported Media Type","exception":"org.springframework.web.HttpMediaTypeNotSupportedException","message": "Content type 'application/json;charset=UTF-8' not supported","path":"/recomd/add"}经过排查,发现是参数中的类Recommend里面,有2个setIndexList()方法:setIndexList(List xxx);setIndexList(ArrayList xxx);删除一个就正常了,猜测是RequestBody在组装Recommend这个参数类的时候,无法判断该用哪一个set方法,从而报错了这应该算是框架的一个bug了Field userMapper in erServiceImpl required a bean of type 'erMapper' that could not be found.原因是在入口文件XxxApplication中,少加了一个注解:@MapperScan("com.zhouchangju.mapper")将项目启动方式从XxxApplication改为Artifact后,访问页面都是4041.没有将pom.xml里面的启动方式从jar改为war2.XxxApplication类没有继承自SpringBootServletInitializer类extends SpringBootServletInitializer安全插件配置url的时候,不用加artifactid比如项目叫做daily,我设置antMatchers的时候,不用加daily这一截:/**定义安全策略*/@Overrideprotected void configure(HttpSecurity http) throws Exception {//配置安全策略http.authorizeRequests()//定义/请求不需要验证.antMatchers("/","/**/*.css","/**/*.js","/**/*.jpg","/**/*.png","/**/*.jpeg","/user/getdynamicpassword","/user/login","/login.html").permitAll().anyRequest().authenticated()//其余的所有请求都需要验证.and().logout().permitAll()//定义logout不需要验证.and().formLogin()//使用form表单登录.loginPage("/login.html").failureUrl("/login?error=true");}本地开发时,Security验证的接口,总是报403需要在SecurityConfig中关闭csrf:.csrf().disable()Edit Configration时,没有Tomcat Serversettings->Build,Execution,Deploment->右侧ApplicationServer->添加本地tomcat信息误删了项目模块文件xxx.iml怎么办?可以在Project Structure里面的module里面,重新导入模块,注意每一步都是import,不是createKafkaConsumer is not safe for multi-threaded access配置文件中的属性无法加载: require a bean of type ng.String that could not be found 是因为写了一个带有String参数的构造函数导致的,删除构造函数即可解决,详见:https:///questions/40670099/im-not-including-the-java-lang-string-bean maven编译项目,报错:cannot find symbol原因是svn上面代码不全,缺少了一些文件如何修改打包后的war文件的存放位置?由于maven遵循“约定优先于配置”的思想,所以如果不做特殊配置,它默认是把打包之后产生的文件都放在target目录下的。
javaSprintBoot技术总结1、技术概述,描述这个技术是做什么?学习该技术的原因,技术的难点在哪⾥。
技术概述Spring Boot是基于Java语⾔的⼀种框架,Spring Boot框架的核⼼就是⾃动配置,只要存在相应的jar包,Spring就帮我们⾃动配置,能够帮助我们快速搭建Java应⽤程序。
学习技术原因:团队要进⾏后端开发,选择学习该技术难点:虽然Spring的Pivotal 团队提供了全新的SpringBoot框架,这样我们不⽤⼀点⼀点的写配置⽂件,再⼀个个导⼊第三⽅库,但是对于⼀些初学者,实在是不好理解夹杂着注释的开发语⾔2、技术详述,描述你是如何实现和使⽤该技术的,要求配合代码和流程图详细描述。
可以再细分多个点,分开描述各个部分。
2.1初始化项⽬1.打开idea完成项⽬的创建。
2.设置项⽬的名称等等属性(Artifact Id是标识当前maven项⽬在组中唯⼀的ID,Group Id是标识项⽬属于哪个组)2.2项⽬中的介绍项⽬整体结构model层:modle层就是对应的数据库表的实体类(如User类)service层:引⽤对应的Dao数据库操作,在这⾥可以编写⾃⼰需要的代码(⽐如简单的判断)Controller层:具体的业务模块流程的控制,controller层主要调⽤Service层⾥⾯的接⼝控制具体的业务流程,控制的配置也要在配置⽂件中进⾏。
dao层:dao层⾸先会创建Dao接⼝,接着就可以在配置⽂件中定义该接⼝的实现类。
dao层有⽤到的xmp配置⽂件:⽤于配置对数据库的存取操作3、技术使⽤中遇到的问题和解决过程。
问题:springboot @Autowired 注解失败⽆法注⼊bean解决⽅法:1.注解的路径错误:这属于项⽬结构的问题,项⽬启动时,只有@SpringBootApplication 所在的包被扫描。
此启动类应处于最上层的⽬录中,这样项⽬启动时,该⽬录以及下级⽬录的类都会被扫描。
springboot学习心得Spring Boot 学习心得在开发领域中,随着技术的日新月异,Spring Boot 作为一种开发框架,以其简化配置、快速开发和高效性能的特点逐渐受到广大开发者的青睐。
经过一段时间的学习和实践,我对 Spring Boot 有了深入的认识和理解,下面我将分享一些学习心得。
1. 了解 Spring BootSpring Boot 是由Spring框架衍生而来,用于简化Spring应用程序的搭建和开发过程。
它的特点是零配置,通过自动配置和约定大于配置的原则,可以快速搭建一个独立运行的、可部署的生产级应用。
学习 Spring Boot 的第一步就是要了解其核心思想和基本原理,掌握其提供的强大功能和特性。
2. 快速开发Spring Boot 提供了一系列的“Starter”依赖,可以根据不同的应用类型快速引入所需的依赖包,而无需手动配置。
这些 Starter 依赖不仅包含了常用的核心模块,还覆盖了常见的第三方组件,如数据库、消息队列等。
开发者只需要在项目中引入适当的 Starter 依赖,即可获得相应功能的自动配置。
这大大减少了开发人员的工作量,提高了开发效率。
3. 灵活可配置虽然 Spring Boot 的自动配置在大多数情况下能够满足需求,但有时也需要进行一些定制。
Spring Boot 提供了多种配置方式,开发者可以通过配置文件、注解、属性等方式对应用进行细粒度的配置。
同时,Spring Boot 还支持多个配置文件,可以根据环境不同加载不同的配置,方便在不同环境中进行部署和测试。
4. 强大的监控和管理Spring Boot 集成了各种监控和管理工具,例如 Spring Boot Actuator,它提供了对应用程序健康、度量、审计等方面的监控功能。
通过简单地引入相关依赖,即可在运行时了解应用的性能指标、请求情况等信息。
此外,Spring Boot 还提供了可视化的管理界面,方便管理者对应用进行监控和管理。
springboot学习心得SpringBoot 学习心得在完成对 SpringBoot 的学习之后,我深刻体会到了这个框架的强大和便利之处。
SpringBoot 是一个基于 Spring 框架的快速开发框架,通过自动配置和简化的约定,大大提高了开发效率。
下面是我对于 SpringBoot 学习的一些心得和总结。
一、简洁高效的开发体验使用 SpringBoot 可以极大地简化项目的配置和搭建过程。
通过使用 SpringBoot Starter 依赖,我们可以轻松地引入各种常用的依赖,而无需手动去配置。
同时,SpringBoot 的自动配置机制可以根据项目中引入的依赖,自动为我们配置相关的组件和功能。
这使得我们可以将更多的精力放在业务逻辑的实现上,而不需要过多关注繁琐的配置工作。
二、内嵌 Tomcat 使得部署更加方便SpringBoot 默认内嵌了 Tomcat 容器,这意味着我们可以将项目打包成一个独立的可运行的 JAR 文件,并直接通过命令行启动应用。
这种方式不仅方便了项目的部署,还减少了对外部服务器的依赖。
另外,SpringBoot 还支持通过 WAR 包的方式部署到外部容器中,这样可以更好地与传统的应用服务器集成。
三、强大的功能扩展能力SpringBoot 提供了大量的插件和扩展点,可以帮助开发者定制化自己的应用。
比如,我们可以通过自定义 Starter 来封装一些通用的组件和功能,方便之后的重复使用。
或者通过自定义 Starter 来封装一些通用的组件和功能,方便之后的重复使用。
或者通过自定义条件注解和条件类来实现一些特定环境下的自动配置。
这些功能扩展能力让我们在开发过程中能够更加灵活地满足自己的需求。
四、完善的监控和运维支持在生产环境中,监控和运维是非常重要的一环。
SpringBoot 提供了丰富的监控和运维支持,可以帮助我们更好地监控应用的运行状态和性能指标。
比如,我们可以通过 Actuator 模块来暴露应用的健康状态、运行信息和性能指标,方便运维人员进行监控和故障排查。
springboot知识点Spring Boot是一个快速构建基于Spring框架的应用程序的工具。
使用Spring Boot,您可以轻松地创建一个运行良好的生产就绪应用程序,并在最短时间内将其推向市场。
Spring Boot是基于开箱即用的原则,配置文件有缺省的集成,使得我们快速地开发基于Spring的项目。
Spring Boot框架是目前前端开发中最热门且最流行的框架之一。
这个框架为开发者提供了一种快速、高效开发应用程序的方式,它能够让开发人员快速构建Web应用、服务以及批处理应用程序。
在这篇文章中,我们会了解一些Spring Boot的实现和优势。
一、优势1、快速Spring Boot提供了自动配置功能。
这意味着当使用Spring Boot创建新的项目时,自动配置在现有的代码之上自动工作,可以避免很多繁琐琐碎的任务。
2、自动配置Spring Boot根据您的类路径自动配置Spring应用程序。
例如,如果您的应用程序引入了Spring MVC,则Spring Boot会自动配置Spring MVC,并为您的应用程序设置所有必需的默认值。
3、无XMLSpring Boot程序不需要XML配置。
这减轻了很多负担,并使开发人员可以专注于基本的业务逻辑。
4、微服务Spring Boot适用于微服务的开发和部署。
这个功能是由Spring Cloud项目支持的,它使得开发人员可以轻松地构建、发布、管理和监控微服务。
二、基础概念1、Spring Boot StarterSpring Boot Starter是一组预构建的依赖关系,您可以将它们添加到您的项目中来便捷地获取某个功能。
例如,您可以使用spring-boot-starter-web依赖来启用Spring MVC或Spring WebFlux。
2、自动配置Spring Boot的自动配置机制可以让开发人员省去很多复杂的编写配置文件的任务。
3、Spring Boot ActuatorSpring Boot Actuator是Spring Boot提供的可插拔的应用程序监控功能。
SpringBoot注解解析⼤全(⾮常全哦!)使⽤注解的优势:1.采⽤纯java代码,不在需要配置繁杂的xml⽂件2.在配置中也可享受⾯向对象带来的好处3.类型安全对重构可以提供良好的⽀持4.减少复杂配置⽂件的同时亦能享受到springIoC容器提供的功能⼀、注解详解(配备了完善的释义)------(可采⽤ctrl+F 来进⾏搜索哦~~~~也可以收藏⽹页这样以后就不⽤往复查询了哦)@SpringBootApplication:申明让spring boot⾃动给程序进⾏必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。
@ResponseBody:表⽰该⽅法的返回结果直接写⼊HTTP response body中,⼀般在异步获取数据时使⽤,⽤于构建RESTful的api。
在使⽤@RequestMapping后,返回值通常解析为跳转路径,加上@esponsebody后返回结果不会被解析为跳转路径,⽽是直接写⼊HTTP response body中。
⽐如异步获取json数据,加上@Responsebody后,会直接返回json数据。
该注解⼀般会配合@RequestMapping⼀起使⽤。
@Controller:⽤于定义控制器类,在spring项⽬中由控制器负责将⽤户发来的URL请求转发到对应的服务接⼝(service层),⼀般这个注解在类中,通常⽅法需要配合注解@RequestMapping。
@RestController:⽤于标注控制层组件(如struts中的action),@ResponseBody和@Controller的合集。
@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。
@EnableAutoConfiguration:SpringBoot⾃动配置(auto-configuration):尝试根据你添加的jar依赖⾃动配置你的Spring应⽤。
springboot项目答辩问题问题一:请简要介绍一下你的springboot项目我的springboot项目是一个在线书店系统,旨在提供一个方便用户购买图书的平台。
该系统基于Java的Spring Boot框架开发,使用了MySQL作为数据库,并采用了前后端分离的架构。
问题二:你选择Spring Boot框架的理由是什么?我选择使用Spring Boot框架的主要原因是它能够快速搭建起一个基础的Web应用程序。
Spring Boot提供了一系列的开箱即用的功能和自动配置,大大简化了项目的搭建和配置过程。
同时,它还提供了对常用的第三方库和工具的良好支持,方便进行开发和集成。
问题三:你的项目中采用了哪些核心技术?在我的项目中,我采用了以下核心技术:1.Spring Boot:作为项目的基础框架,用于快速搭建Web应用程序。
2.Spring MVC:用于处理HTTP请求和响应,实现前后端的交互。
3.Spring Data JPA:用于简化对数据库的访问和操作,实现数据持久化。
4.MySQL:作为项目的关系型数据库,用于存储和管理数据。
5.Thymeleaf:作为模板引擎,用于生成动态的HTML页面。
6.Bootstrap:用于构建响应式的界面,提升用户体验。
问题四:你在项目中遇到的主要技术难题是什么?你是如何解决的?在项目开发过程中,我遇到的主要技术难题是如何实现用户身份验证和权限管理。
为了解决这个问题,我采用了Spring Security框架来处理用户的认证和授权。
首先,我通过Spring Security提供的配置类,定义了自己的用户认证逻辑,包括从数据库加载用户信息、密码加密等。
然后,我通过自定义的用户权限管理类,定义了用户在系统中的权限和角色,以及相应的访问控制规则。
在用户登录时,我使用了Spring Security提供的表单登录功能,通过验证用户输入的用户名和密码来实现认证。
在用户访问受限资源时,我利用Spring Security的注解和过滤器来进行权限验证,确保用户只能访问他们具备权限的资源。
spring boot核心注解
Spring Boot核心注解:
1. @SpringBootApplication:这是一个复合注解,包括@EnableAutoConfiguration、@ComponentScan和
@Configuration等。
它可以用来标注在某个类上,告诉Spring Boot引导类已经准备好了,可以开始以此类为中心进行自动配置、组件扫描和Bean定义加载等工作。
2. @EnableAutoConfiguration:使用这个注解的类,会触发自动配置,就是自动配置文件会被加载,自动配置类会被触发。
3. @ComponentScan:标注在某个类上,用来开启组件扫描,自动发现并装配bean实例到Spring容器中。
4. @Configuration:这是一个配置类,用来替代XML 配置文件,将一些初始化bean定义加载到Spring容器中。
5. @Bean:用来标注在某个方法上,表示此方法返回的结果是一个Bean,可以被Spring容器托管。
SpringBoot
区别
Springboot是springMVC的升级版,两者没有必然联系,可直接学习springBoot,springBoot是伴随着Spring4.0诞生的
SpringBoot的特点
1.化繁为简,简化配置
2.备受关注,是下一代框架
3.微服务的入门级框架(微服务是当下比较流行的架构spring为微服务架构提供了一整套组件,统称为SrpingCloud,,springcloud是建立在springBoot的基础之上的)
4.使编码变得简单,使配置变得简单,使部署变得简单,使监控变得简单
程序配置
引入jar包
启动类上班必须有@SpringBootApplication注解,controller类要加@RestController注解,方法上配置@RequestMaping注解
注解与模板
讲解:
@Controller注解:处理http请求
@RestController注解:Spring4之后新加的注解,等同于返回json注解的@ResponseBody+controller注解的组合注解
@RequestMapping注解:配置url配置
@PathVariable 获取url中的数据
@RequestParam 获取请求参数的值
如果仅仅使用@Controller,返回的字符串就是页面的名称,需要加入srping官方的模板引擎,在pom.xml中配置,
属性配置
application.properties为springboot的默认配置文件,可配置端口server.port=8081可配置项目路径server.context-path=/gril ,访问路径时的路径就变成localhost:8081/gril/controller名称
application.yml文件是springboot的另一种配置文件,这种文件可以减少重复值(推荐,注意:冒号后要加空格)
在yml文件中自定义属性时,在controller中使用@Value(“${gril}”)
属性映射到bean
创建Gril.java的java文件,类上加@Component和@ConfigurationProperties(prefix="gril"),创建private String name;和private Integer age;属性创建get和set方法,获取配置文件前缀是gril 的配置映射到javabean属性中,
在controller中注入这个bean@Autowired Girl gril ;
如果有多个配置文件比如application.yml,application-A.yml和application-B.yml,如果想使用B 配置文件,可在application.yml文件中配置
数据库操作
JAP(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有hibernate,toplink等
Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot 的用户会用来构建RESTful API。
而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。
这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS 开发、Android开发或是Web开发等。
为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份RESTful API文档来记录所有接口细节,然而这样的做法有以下几个问题:
•由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下游的抱怨声不绝于耳。
•随着时间推移,不断修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致不一致现象。
为了解决上面这样的问题,本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。
它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。
另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。
具体效果如下图所示:
下面来具体介绍,如果在Spring Boot中使用Swagger2。
首先,我们需要一个Spring Boot实现的RESTful API工程
添加Swagger2依赖
在pom.xml中加入Swagger2的依赖
创建Swagger2配置类
在Application.java同级创建Swagger2的配置类Swagger2。
如上代码所示,通过@Configuration注解,让Spring来加载该类配置。
再通过@EnableSwagger2注解来启用Swagger2。
再通过createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api 的基本信息(这些基本信息会展现在文档页面中)。
select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore指定的请求)。
添加文档内容
在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。
如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。
完成上述代码添加上,启动Spring Boot程序,访问:。
就能看到前文所展示的RESTful API的页面。
我们可以再点开具体的API请求,以POST类型的/users请求为例,可找到上述代码中我们配置的Notes信息以及参数user的描述信息,如下图所示。
API文档访问与调试
在上图请求的页面中,我们看到user的Value是个输入框?是的,Swagger除了查看接口功能外,还提供了调试测试功能,我们可以点击上图中右侧的Model Schema(黄色区域:它指明了User的数据结构),此时Value中就有了user
对象的模板,我们只需要稍适修改,点击下方“Try it out!”按钮,即可完成了一次请求调用!
此时,你也可以通过几个GET请求来验证之前的POST请求是否正确。
相比为这些接口编写文档的工作,我们增加的配置内容是非常少而且精简的,对于原有代码的侵入也在忍受范围之内。
因此,在构建RESTful API的同时,加入swagger来对API文档进行管理,是个不错的选择。
个人理解:RESTful API也就是一个可以脱离前端配合而调试接口的方法列表,可输入参数,调用接口,看到返回结果。