提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一个controller中必须的5个接口
  • get 请求
    • 情况一:参数有,但是少,不足以用一个Dto进行封装。(不建议这样)
    • 情况二:入参不是id的,或者大于一个的,都封装到Dto中(建议)
    • 情况三:入参为一个
  • post请求(入参都封装到Dto中)
  • put请求
  • delete请求
  • 关于Dto 和Vo

前言

提示:这里可以添加本文要记录的大概内容:

restFul风格,写接口,就使用这四种请求方法、

get 查询
post 新增
put 修改
delete 删除

注意: 入参和 出参的规则

入参: xxxDto
出参:xxxVo


entity中存放实体类


一个controller中必须的5个接口

  1. 分页查询列表

  2. 详情 (根据id查询)

  3. 新增

  4. 修改

  5. 删除


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接口使用个人总结相关推荐

  1. vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...

    一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...

  2. 接口是什么意思_程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口...

    在我们前后端交互过程中,我们经常提到一个英文单词RESTful,那么什么是RESTful接口呢? REST,全称Resource Representational State Transfer,翻译成 ...

  3. Spring Cloud Feign Clients 无需 Controller自动暴露Restful接口

    前言 在开发SpringCloud应用中,Feign作为声明式调用的事实标准极大的简化了Rest远程调用,提供了类本地化的调用方式.服务提供方的接口暴露方式是通过Controller暴露Restful ...

  4. 关于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% ...

  5. python框架 mysql数据库_在Python的框架中为MySQL实现restful接口的教程

    最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下: 请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展 当请求量或者存储量变大时,mys ...

  6. spark-jobserver介绍: 提供了一个 RESTful 接口来提交和管理 spark 的 jobs、jars 和 job contexts

    spark-jobserver Spark-jobserver 提供了一个 RESTful 接口来提交和管理 spark 的 jobs.jars 和 job contexts.这个项目包含了完整的 S ...

  7. ios调用restful接口_Postman调用https异常解决

    Postman为开发者比较常用的api测试工具,功能强大,支持各种restful接口调试,支持文件上传和文件下载. 这里主要根据项目调用https接口出现以下异常做个简要的操作讲解: 调用接口后pos ...

  8. c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页

    前言 上一篇文章请看这里:使用Kotlin搭配Springboot开发RESTFul接口与服务部署 上一篇文章介绍了Kotlin搭配Springboot的开发流程,从搭建项目.ORM.Controll ...

  9. restful 接口 安全性设计

    2019独角兽企业重金招聘Python工程师标准>>> 1.MD5混淆 第三方调用restful接口时,参数如商品名称.商品ID.金额.MD5加密(商品名称+商品ID+金额+sign ...

  10. Swagger+Spring mvc生成Restful接口文档

    2019独角兽企业重金招聘Python工程师标准>>> Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端 ...

最新文章

  1. 边缘计算架构_Openshift为边缘计算提供三节点架构部署
  2. MLCC噪声啸叫及对策
  3. 微信小程序(购物车)--在wxml中设置保留小数位数
  4. SAP S/4HANA客户关系管理之变
  5. Android播放器之SurfaceView与GLSurfaceView
  6. 专题:补丁自动分发管理策略
  7. 有没有一些细分IT行业,没有35岁现象
  8. Spring 无缝整合 quartz
  9. python工资高还是java-Python和Java哪个工资高
  10. 芯片烧录软件Android版,HiTool官方版
  11. java itex 打印pdf_Java使用iTextPDF生成PDF文件的实现方法
  12. SSM项目源码基于ssm的NBA球队|篮球管理系统
  13. Simulink中利用Powergui进行FFT分析,但是信号源始终为空
  14. vue中使用file-saver导出文件
  15. (MIUI)小米手机录音丢失找回
  16. 微信oauth2.0授权
  17. 2015_12_27微软校园招聘笔试题目
  18. 基于Java的商城购物系统
  19. 设计模式_迭代器模式01
  20. 移动端布局 - rem布局

热门文章

  1. 泛微OA-一键清空明细表
  2. 网页加载缓慢时,两种方法实现loading效果
  3. 作为一个程序员,会使用一些电脑快捷键很有需要
  4. 启动项无法删除的解决办法。
  5. 企业数字化转型系列(3):企业数字化转型到底要转什么?
  6. 中美通信运营商制式详解
  7. Python图像处理【3】Python图像处理库应用
  8. 中国广州利用区块链及AI技术发布营业执照
  9. 恐鬼症服务器显示不出来怎么办,Phasmophobia
  10. 想要学习网络安全,安全的论坛和资料如何找?