SpringBoot RESTful API 设计与实现

SpringBoot RESTful API 设计与实现

实验目的

1.学会使用 @GetMapping、@PostMapping、@PutMapping、@DeleteMapping 设计 RESTful API。

2.掌握 @RequestParam 处理查询参数的方法。

3.学会 @PathVariable 处理路径参数的方法。

4.了解 @RequestBody 处理 JSON 请求体的方法。

实验环境

开发工具:IntelliJ IDEA

JDK版本:JDK 1.8及以上

构建工具:Maven

测试工具:Postman或浏览器

实验要求

本实验要求你基于Spring Boot 设计一个虚拟宇宙探索任务管理系统 RESTful API,支持以下功能:

1.获取所有探索任务(GET /missions)。

2.根据 ID 获取特定探索任务(GET /missions/{id})。

3.添加新探索任务(POST /missions,接收 JSON 格式的任务信息)。

4.更新探索任务(PUT /missions/{id},更新任务信息)。

5.删除探索任务(DELETE /missions/{id})。

实验内容

第一部分:创建Spring Boot 项目

  1. 使用IDEA创建项目
  2. 确保Maven项目成功导入,所有依赖已正确加载。

第二部分: 虚拟宇宙探索任务管理系统**(使用** Restful 风格编写)

1.创建 Mission 实体类

在entity包下创建实体类Mission

public class Mission{

private Long id;

private String name;

private String destination; // 任务目标星球

private String status; // 任务状态: 进行中 / 已完成 / 失败

private int duration; // 任务预计持续天数

// Getters and Setters

......

2.创建虚拟宇宙探索任务控制器类,其中包含5个方法:获取所有探索任务,根据 ID 获取特定探索任务,添加新探索任务,更新探索任务,删除探索任务。

第三部分:测试功能

  1. 获取所有探索任务

请求方式:GET

URL:http://localhost:8080/missions

返回结果:

{ "id": 1, "name": "探索火星", "destination": "Mars", "status": "进行中", "duration": 180 }, { "id": 2, "name": "木星卫星采样", "destination": "Europa", "status": "已完成", "duration": 365 }

2.根据 ID 获取探索任务

请求方式:GET

URL:http://localhost:8080/missions/1

返回结果:

{

"id": 1,

"name": "探索火星",

"destination": "Mars",

"status": "进行中",

"duration": 180

}

3.添加新探索任务

请求方式:POST

URL:http://localhost:8080/missions

请求体(JSON 格式):

{

"id": 3,

"name": "太阳风暴观测",

"destination": "Sun",

"status": "未开始",

"duration": 90

}

返回结果:

"Mission added successfully!"

4.更新探索任务

请求方式:PUT

URL:http://localhost:8080/missions/3

请求体(JSON 格式):

{

"id": 3,

"name": "太阳风暴观测",

"destination": "Sun",

"status": "进行中",

"duration": 100

}

返回结果:

"Mission updated successfully!"

5.删除探索任务

请求方式:DELETE

URL:http://localhost:8080/missions/3

返回结果:

"Mission deleted successfully!"

相关推荐
实名上网宋凯宣6 小时前
Django
后端·python·django
利威尔xu7 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF8 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
慢云智慧空间8 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu8 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
薛定谔的猫-菜鸟程序员9 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
云创智城-yuncitys10 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
IT_陈寒11 小时前
SpringBoot多环境配置把我坑惨了,这个踩坑经验你最好看看
前端·人工智能·后端
码事漫谈11 小时前
DeepSeek 搞了个 "Super-agent",但不是超级智能
后端
吴凡wudianmei11 小时前
从 0 搭一个 AI Agent(四):SSE 跑通之后,三处“契约错配”与它们的修复边界
前端·后端·aigc