根据作业要求:第一步创建Springboot项目
创建Springboot项目
因为这个是新版本(2021.1.4)跟上课时的PPT创建过程有些许不同,但是效果是一样的。然后点击下一步:
这里记得要勾选SpringWeb,不然会达不到作业的要求,(不能打开网站以及显示我代码编辑的内容)。
到这里我们的第一个SpringBoot就创建好了
分析Springboot项目的目录
由于微信的图片框选编辑颜色的短板,这里用不同的形状和颜色来解释SpringBoot 的一个目录
红色的方框(.idea):这里是IDEA的项目配置文件
绿色的方框(.mvn): 这是Maven的配置文件
蓝色的方框(src): 这是以源代码相关的目录
黄色的方框(com.example.demo): 这是包目录
蓝色的圆框(application.properties): 这是项目文件目录(resources)下的Java项目的配置文件
绿色的圆框(test): 这是测试代码的目录
红色的圆框(target):这里是IDEA的编译之后的生成的编译文件
黄色的圆框(pom.xml): 这是Maven管理Java项目配置文件
第一个测试的实现
创建controller的类:
在ruoyi框架中controller是处理 HTTP 请求,接收用户输入,并返回相应的结果。
如下是一些注解的定义
@RestController
: 标识该类为控制器,并将返回的对象自动转换为 JSON。
@RequestMapping
: 定义请求的基础路径。
@GetMapping
, @PostMapping
, @PutMapping
, @DeleteMapping
: 用于处理不同类型的 HTTP 请求。
接下来根据上述的定义去编写一段简单体现http的GET和POST的代码,如下图:
-
类定义:
-
@RestController
: 这个注解表示该类是一个控制器,能够处理 HTTP 请求,并返回 JSON 数据。 -
@RequestMapping("/api")
: 定义了这个控制器的基础 URL 路径,所有方法的路径都会以/api
开头。
-
-
成员变量:
-
private static HashMap<String, Integer> name = new HashMap<>();
: 创建一个静态的 HashMap,用于存储名字与年龄的对应关系。
-
-
HelloWord 方法:
-
@GetMapping("/HelloWord")
: 处理 GET 请求,当用户访问/api/HelloWord
时调用此方法。 -
return "Hello Spring Boot!,我是zwq" + name;
: 返回一个包含欢迎信息和当前 HashMap 内容的字符串。
-
-
Hello 方法:
-
@PostMapping("/hello")
: 处理 POST 请求,当用户访问/api/hello
时调用此方法。 -
public String Hello(@RequestParam String name, @RequestParam int age)
: 接收两个请求参数name
和age
,分别表示用户的名字和年龄。 -
this.name.put(name, age);
: 将传入的名字和年龄存储到 HashMap 中。 -
return "Hello " + name + "年龄" + age;
: 返回包含名字和年龄的信息。
-
如上就完成了第一个实验的要求
Postman的调试
开启SpringBoot的项目
当出现如上述的步骤之后说明成功了。
接下来打开postman
Postman (GET)
当出现返回值的时候说明成功了,这和刚才开启的网页的原理是一样的只是这里更直观,能体现出我们跟网页的一个交互。
Postman (Post)
在我们的IDEA 新增一个get请求用来验证以下实验的成功与否。
如下图:
这个新增加的代码的路径(path)是来验证我们post的。(o.o)写道一半才发现验证没写补救一下
出现返回值,
然后我们get这个路径
出现上图中的效果就说明成功了
Postman (Put)
新增我们的代码:
重新运行
转到postman界面
这里的重新get是在post的基础上去做的,也就是传完数据之后。
然后在运行put,更新数据。
出现返回值说明成功了
然后再去get
我们发现,刚才的内容被更改了,说明put实验成功。
Postman (DELECT)
同样也是新增代码,如下图:
重新运行,重新post写入数据,以及get读取数据
然后执行delect:
拿到返回值之后get
说明delect成功了。
总结
其实在Postman中执行的get,post,put,delect其实就是数据库的增删改查,在springboot中他没有使用传统的sql语句而是用了注解以及内部的一些的方法去实现,相比于sql语句,他体现出了java的快速开发的一个特性。o.o商业吹捧。。。。。,