当前位置: 首页 > news >正文

【SpringBoot详细教程】-06-Restful风格【持续更新】

====点个关注,不迷路=====

⾸先,回顾并详细说明⼀下在SSM中使⽤的 @Controller 、 @RestController 、 @RequestMapping 注解。如果您对SpringMVC不熟悉并且还没有尝试过快速⼊⻔案例,建议先看⼀下SSM与Restful相关的内容。

  • @Controller :修饰class,⽤来创建处理http请求的对象
  • @RestController :Spring4之后加⼊的注解,原来在 @Controller 中返回json需要@ResponseBody 来配合,如果直接⽤ @RestController 替代 @Controller 就不需要再配置 @ResponseBody ,默认返回json格式。
  • @RequestMapping :配置url映射

下⾯我们尝试使⽤Spring MVC来实现⼀组对User对象操作的RESTful API,配合注释详细说明在

SpringMVC中如何映射HTTP请求、如何传参、如何编写单元测试。

RESTful API具体设计如下:

实体类User代码如下:

package com.moxuan.boot_06_web.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {private Long id;private Integer age;private String name;
}

控制器类:UserController代码如下:

package com.moxuan.boot_06_web.controller;import com.moxuan.boot_06_web.entity.User;
import org.springframework.web.bind.annotation.*;import java.util.*;@RestController
@RequestMapping("/users")
public class UserController {//	创建线程安全的Mapstatic Map<Long, User> users	=	Collections.synchronizedMap(new HashMap<Long,	User>());static {users.put(1L,new User(1L,20,"刘亦菲"));users.put(2L,new User(2L,20,"赵丽颖"));users.put(3L,new User(3L,20,"杨幂"));users.put(4L,new User(4L,20,"刘诗诗"));}// 查询@GetMapping("/")public	List<User>	getUserList() {//	处理"/users/"的GET请求,⽤来获取⽤户列表//	还可以通过@RequestParam从⻚⾯中传递参数来进⾏查询条件或者翻⻚信息的传递List<User> r	=	new ArrayList<User>(users.values());return	r;}@PostMapping("/")public	String	postUser(User user) {//	处理"/users/"的POST请求,⽤来创建User//	除了@ModelAttribute绑定参数之外,还可以通过@RequestParam从⻚⾯中传递参数users.put(user.getId(),	user);return "success";}@GetMapping("/{id}")public	User	getUser(@PathVariable Long	id) {//	处理"/users/{id}"的GET请求,⽤来获取url中id值的User信息//	url中的id可通过@PathVariable绑定到函数的参数中return	users.get(id);}@PutMapping("/{id}")public	String	putUser(@PathVariable Long	id,User	user) {//	处理"/users/{id}"的PUT请求,⽤来更新User信息User	u	=	users.get(id);u.setName(user.getName());u.setAge(user.getAge());users.put(id,	u);return "success";}@DeleteMapping("/{id}")public	String	deleteUser(@PathVariable	Long	id) {//	处理"/users/{id}"的DELETE请求,⽤来删除Userusers.remove(id);return "success";}
}

使用Postman测试

  • 测试修改

  • 测试查询

  • 测试添加

  • 测试查询所有

  • 测试删除

更多教程:小破(B)站,墨轩大楼 


http://www.mrgr.cn/news/37300.html

相关文章:

  • Lod2城市三维模型是什么意思?
  • 你要的录音播放录音功能,直接用!Air201资产定位模组LuatOS快速入门
  • Django Web开发基础介绍
  • SemiDrive E3 MCAL 开发系列(4) – Gpt 模块的使用
  • 软考高级:系统设计 - MDA 模型 AI 解读
  • 生信初学者教程(十二):数据汇总
  • Windows下jenkins执行远程sh脚本中文乱码问题
  • FPGA实现PCIE图片采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
  • 设计强化学习算法解决迷宫问题
  • 新160个crackme - 066-Andrnalin.3
  • Dina: 1.0.1靶场
  • C语言数组探秘:数据操控的艺术【下】
  • 2024年9月27日历史上的今天大事件早读
  • 预备阶段-Android逆向基础
  • 极狐GitLab 17.4 重点功能解读【八】
  • 深入理解 CompletableFuture 的底层原理
  • 四DHCP服务实验
  • MK米客方德SD NAND参考设计
  • C++实现二叉树的创建删除,dfslfs,求叶子结点个数,求叶子结点个数,求树的高度
  • 【单元测试】任务3:JUnit assertThat断言