restFul接口使用个人总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一个controller中必须的5个接口
- get 请求
- 情况一:参数有,但是少,不足以用一个Dto进行封装。(不建议这样)
- 情况二:入参不是id的,或者大于一个的,都封装到Dto中(建议)
- 情况三:入参为一个
- post请求(入参都封装到Dto中)
- put请求
- delete请求
- 关于Dto 和Vo
前言
提示:这里可以添加本文要记录的大概内容:
restFul风格,写接口,就使用这四种请求方法、
get 查询
post 新增
put 修改
delete 删除
注意: 入参和 出参的规则
入参: xxxDto
出参:xxxVo
entity中存放实体类
一个controller中必须的5个接口
分页查询列表
详情 (根据id查询)
新增
修改
删除
get 请求
情况一:参数有,但是少,不足以用一个Dto进行封装。(不建议这样)
比如:name,age
http://localhost:8080/list?参数名称=值&参数名=值&…
前端发送过来的请求的格式:(必须是这样的,不然后端接收不到数据)
http://localhost:8080/list?name=1&age=2
请求中传过来的参数的类型都是字符串,接口中,不是以String接收的,是因为进行了类型转换的
@GetMapping("/list")public AjaxResult list(String name,Integer age ){......return AjaxResult.success(...);}
情况二:入参不是id的,或者大于一个的,都封装到Dto中(建议)
Dto, 入参的类
好处:
在类中可以使用验证参数等,有注解可以进行验证,就不必我们注解验证了。比如参数是否为空啊,age不能是负数,等等的验证。
详情:https://blog.csdn.net/sunnyzyq/article/details/103527380
入参类
public class xxxDto{@NotNullprivate String name;@NotNullprivate Integer age;}
后端接口
@GetMapping("/list")public AjaxResult list(@Valid xxxDto){......return AjaxResult.success(...);}
前端的请求:
http://localhost:8080/list?name=1&age=2
情况三:入参为一个
http://localhost:8080/findOne?id=xxxxx
@GetMapping("/findOne")public AjaxResult findOne(String id ){......return AjaxResult.success(...);}
http://localhost:8080/lfindOnd/123132131
@GetMapping("/findOne/{id}")public AjaxResult findOne(@PathVariable("id") String id ){......return AjaxResult.success(...);}
post请求(入参都封装到Dto中)
注意: 不管插入的是一个还是多个属性,都封装到Dto中
入参类
public class xxxDto{@NotNullprivate String name;@NotNullprivate Integer age;}
后端代码
@PostMapping("/insertInfo")public AjaxResult insertInfo(@Valid @RequestBody xxxDto dto){.......return ....}
请求:
localhost:8080/insertInfo 参数在请求体中
put请求
id不写在入参类中,这样可以在 插入和修改中,使用同一个入参Dto
入参类
public class xxxDto{@NotNullprivate String name;@NotNullprivate Integer age;}
后端代码
@PostMapping("/updateInfo/{id}")public AjaxResult insertInfo(@Valid @RequestBody xxxDto dto,@PathVariable("id") String id ){.......return ....}
请求:
localhost:8080/updateInfo/1231231 参数在请求体中
注意以下的方式: 不建议这样
后端代码:
@PutMapping("/updateStatus")public AjaxResult updateStatus( Integer enableStatus,String id){.......return .....}
这样的话,参数发送到请求体中也获取不到;
发送方式:localhost:8080/updateStatus?enableStatus=1&id= 1232131231 可以获取的到
建议: 两个参数及以上使用Dto封装
xxxDto
public class xxxDto{String id ;Integer enableStatus;}
@PutMapping("/updateInfo")public AjaxResult updateInfo(@RequestBody xxxDto dto){.......return ....}
一个参数:
@PutMapping("/updateInfo/{id}")public AjaxResult updateInfo(@PathVariable("id" String id )){.......return ....}
两个个参数:
@PutMapping("/updateInfo/{id}/{age}")public AjaxResult updateInfo(@PathVariable("id") String id ,@PathVariable("age") Interge age){.......return ....}
delete请求
一般是传id 和ids 这两种
@DeleteMapping("/delete/{id}")public AjaxResult deleteById(@PathVariable("id") String id){...........return ...;}
@DeleteMapping("/delete/{ids}")public AjaxResult deleteById(@PathVariable("id") String ids){String[] idsStr = ids.split(",");...........return ...;}
关于Dto 和Vo
入参和出参,会经常是 包含 有关时间的处理
日期: 2022-11-11 就有localDate 2022-11-11 11:11:11 就用localDateTime
https://blog.csdn.net/qq_46539281/article/details/125683278
同时还要必添加的注解 @DateFormatTIme 和 @JsonFormat 注解
@DateFormatTIme 用在Dto 入参中
@JsonFormat 用在 出参中。
restFul接口使用个人总结相关推荐
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...
一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...
- 接口是什么意思_程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口...
在我们前后端交互过程中,我们经常提到一个英文单词RESTful,那么什么是RESTful接口呢? REST,全称Resource Representational State Transfer,翻译成 ...
- Spring Cloud Feign Clients 无需 Controller自动暴露Restful接口
前言 在开发SpringCloud应用中,Feign作为声明式调用的事实标准极大的简化了Rest远程调用,提供了类本地化的调用方式.服务提供方的接口暴露方式是通过Controller暴露Restful ...
- 关于Go语言在服务端做Restful接口和socket通信
转载自: http://xiaorui.cc/2014/10/25/%e5%85%b3%e4%ba%8ego%e8%af%ad%e8%a8%80%e5%9c%a8%e6%9c%8d%e5%8a%a1% ...
- python框架 mysql数据库_在Python的框架中为MySQL实现restful接口的教程
最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下: 请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展 当请求量或者存储量变大时,mys ...
- spark-jobserver介绍: 提供了一个 RESTful 接口来提交和管理 spark 的 jobs、jars 和 job contexts
spark-jobserver Spark-jobserver 提供了一个 RESTful 接口来提交和管理 spark 的 jobs.jars 和 job contexts.这个项目包含了完整的 S ...
- ios调用restful接口_Postman调用https异常解决
Postman为开发者比较常用的api测试工具,功能强大,支持各种restful接口调试,支持文件上传和文件下载. 这里主要根据项目调用https接口出现以下异常做个简要的操作讲解: 调用接口后pos ...
- c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页
前言 上一篇文章请看这里:使用Kotlin搭配Springboot开发RESTFul接口与服务部署 上一篇文章介绍了Kotlin搭配Springboot的开发流程,从搭建项目.ORM.Controll ...
- restful 接口 安全性设计
2019独角兽企业重金招聘Python工程师标准>>> 1.MD5混淆 第三方调用restful接口时,参数如商品名称.商品ID.金额.MD5加密(商品名称+商品ID+金额+sign ...
- Swagger+Spring mvc生成Restful接口文档
2019独角兽企业重金招聘Python工程师标准>>> Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端 ...
最新文章
- 边缘计算架构_Openshift为边缘计算提供三节点架构部署
- MLCC噪声啸叫及对策
- 微信小程序(购物车)--在wxml中设置保留小数位数
- SAP S/4HANA客户关系管理之变
- Android播放器之SurfaceView与GLSurfaceView
- 专题:补丁自动分发管理策略
- 有没有一些细分IT行业,没有35岁现象
- Spring 无缝整合 quartz
- python工资高还是java-Python和Java哪个工资高
- 芯片烧录软件Android版,HiTool官方版
- java itex 打印pdf_Java使用iTextPDF生成PDF文件的实现方法
- SSM项目源码基于ssm的NBA球队|篮球管理系统
- Simulink中利用Powergui进行FFT分析,但是信号源始终为空
- vue中使用file-saver导出文件
- (MIUI)小米手机录音丢失找回
- 微信oauth2.0授权
- 2015_12_27微软校园招聘笔试题目
- 基于Java的商城购物系统
- 设计模式_迭代器模式01
- 移动端布局 - rem布局