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!"

相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
大勇前进1 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
vipxieliang1 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
yuzhi_liu1 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile1 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白801 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙1 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端