后台讲师管理模块-修改讲师 | 学习笔记

简介: 快速学习后台讲师管理模块-修改讲师

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)后台讲师管理模块-修改讲师学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11292


后台讲师管理模块-修改讲师


讲师修改功能(修改首先要做查询数据回显,回显之后才能修改,所以修改接口(接口主要是返回数据和操作数据)则有以下两部分方法)

1.根据讲师 id 进行查询

@GetMapping( "getTeacher/ {id}" ) → 因为要根据 id 查询,所以 id 通过路径传递

方法:

public R getTeacher(@PathVariable String id) {

EduTeacher eduTeacher = teacherService. getById(id) :

return R. ok(). data( "teacher", eduTeacher) :

}

打开 swagger,找到 /eduservice/teacher/getTeacher/{id} 点击

id: 2

点击try it out!

{

"success": true,

"code": 20000,

"message": "成功" ,

"data": {

"teacher": {

"id": "2",

"name": "string6S",

"intro": "string" ,

"career": "string",

"level": 2,

"avatar": "string",

"sort": 0,

"isDeleted": false,

"gmtCreate": "1999-11-11 00:00:00" ,

"gmthodified": "2020-02-23 21:22:30"

}

2.讲师修改(测试时候, json 数据需要 id 值,没有 id 值不能做修改)

(1)讲师修改功能,修改应该用 putMapping,但是在操作中,传数据都是通过对象或RequestBody,而RequestBody在传递中需要跟 PostMapping 一起用,所以讲师修改也用 PostMapping,为了用 RequestBody,

当然如果不用 RequestBody,也可以用 putMapping

①@PostMapping ( "updateTeacher" )

public R updateTeacher(@RequestBody EduTeacher eduTeacher) {  → //修改在页面中,首先数据要回显,而回显有一个表单,最后一提交,数据则需要提交到 real 中,而提交过程还是用对象传递 RequestBody,而对象则是eduTeacher,且在 Teacher 中会有id值.

boolean flag = teacherService.updateById (eduTeacher);

if(flag) {

return R. ok() :

} else {

return R. error() :

}

}

判断:若为 true,则 ok,若为 false,则是 error

  1. 根据 id 修改

//在 PutMapping 用 RequestBody 会有一个问题,就是它的id值传的会有问题,那么以下用 PutMapping 是怎么做到的,把 {id}翻译值传过来,然后id值手动设置到对象中去,最终再做修改,若用 postMapping,则没必要用 id 值,把数据都传到 teacher 对象中就可以了

@Api0peration(value -“根据ID修改讲师")

@PutMapping(" {id} ")

public R updateById(

@ApiParam(name - "id", value - "讲师ID", required - true)

@PathVariable String id,

@ApiParam(name - "teacher", value = "讲师对象", required = true)

@RequestBody Teacher teacher){

teacher .setId(id);

teacherService. updateById(teacher);

return R.ok();

}

(3)打开swagger,找到 /eduservice/teacher/updateTeacher 点击

eduTeacher: {

"avatar": "string",

"career": "string",

"id": "2", → 必须有id值,时间可以自动填充

"intro": "string" ,

"isDeleted": false

"level": 0,

"name": "string1010upup",

"sort": 0,

}

点击try it out!

{

"success": true,

"code": 20000,

"message":.“成功",

"date": { }

}

相关文章
|
存储 缓存 安全
90%的Go语言程序员map遍历方式都是错的
90%的Go语言程序员map遍历方式都是错的
515 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
面向认知智能的AI推理体系:理论基础与工程实践
本文深入探讨了AI推理从“感知智能”迈向“认知智能”的理论框架与技术突破。文章分析了符号推理、神经推理及混合推理的优劣势,指出了多跳推理、因果推理和可解释性等挑战。同时,结合大语言模型、ReAct架构和知识增强推理等前沿技术,展示了AI推理在代码实现中的应用。未来,认知图谱、推理驱动的智能体、边缘推理优化及人机协同将成为重要方向,推动AI向通用人工智能(AGI)迈进。
499 60
面向认知智能的AI推理体系:理论基础与工程实践
|
8月前
|
存储 人工智能 测试技术
跨模态大升级!少量数据高效微调,LLM教会CLIP玩转复杂文本
LLM2CLIP是一种创新方法,旨在通过利用大型语言模型(LLM)的能力来改进CLIP多模态模型。该方法通过对比学习微调LLM,增强其文本判别性,并将其作为CLIP的强教师,从而显著提升CLIP处理长复杂文本和跨语言任务的能力。实验表明,LLM2CLIP在多个基准测试中优于现有模型,特别是在长文本检索任务上性能提升了16.5%。尽管如此,该方法在实际应用中的鲁棒性和资源需求仍需进一步验证。论文链接:https://arxiv.org/pdf/2411.04997。
308 70
|
8月前
|
存储 安全 算法
即时通讯安全篇(十五):详解硬编码密码的泄漏风险及其扫描原理和工具
本文详细讨论了硬编码密码的成因、危害及治理方法,同时本文从安全人员的角度出发,对现有的硬编码密码检测工具的算法进行了深入调研,并提出了我们的自动化检测工具。
248 7
|
11月前
|
敏捷开发 存储 BI
项目管理工具评测:5款适合团队使用的简洁、高效的工具推荐
项目管理工具对于提升团队效率和确保项目成功至关重要。本文介绍了五款高效工具:板栗看板、Zoho Projects、TeamGantt、LiquidPlanner和Smartsheet,它们分别擅长任务管理、团队协作、甘特图规划、智能资源管理和电子表格式项目管理,满足不同团队的需求。
项目管理工具评测:5款适合团队使用的简洁、高效的工具推荐
|
11月前
|
存储 大数据 数据管理
大数据分区提高查询性能
大数据分区提高查询性能
295 2
|
12月前
|
搜索推荐 Android开发 数据安全/隐私保护
安卓vs. iOS:两大操作系统的终极对决####
【10月更文挑战第17天】 本文将深入浅出地探讨安卓和iOS这两大智能手机操作系统的差异与优劣,通过对比它们的技术架构、用户体验、市场表现及未来发展趋势,为读者提供一个全面而客观的视角。无论你是技术爱好者还是普通消费者,都能从中获得有价值的信息。 ####
476 2
|
安全 关系型数据库 MySQL
Mysql注入 -- 延时注入
Mysql注入 -- 延时注入
348 0
|
前端开发 JavaScript API
proxy配置
proxy配置
291 0
|
前端开发
解决Angular里的报错:ERROR Error: Uncaught (in promise): NullInjectorError: R3InjectorError()
解决Angular里的报错:ERROR Error: Uncaught (in promise): NullInjectorError: R3InjectorError()