Restful风格的五种基本操作

五种操作分别为:新增、删除、修改、查询单个、查询所有。
利用restful风格书写访问路径时,会发现大多数路径其实都是很相似甚至一样的,但他们的区别主要是利用数据提交的方式,即method 。还需注意的点是,当有参数id的时候需要在方法的形参前加上@PathVariable 注解

新增:http://localhost:8080/users method为post
删除:http://localhost:8080/users/{id} method为delete
修改:http://localhost:8080/users method为put
查询单个:http://localhost:8080/users/{id} method为get
查询全部:http://localhost:8080/users method为get

在controller层进行操作

package cs.yangtze.controller;import cs.yangtze.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import javax.xml.ws.RequestWrapper;/*** @Version 1.0* @Author:cyl* @Date:2022/8/16* @Content:*/@Controller
public class UserController {//新增@RequestMapping(value = "/users",method = RequestMethod.POST)@ResponseBodypublic String save(){System.out.println("user save...");return "{'module':'user save'}";}//删除@RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)@ResponseBodypublic String delete(@PathVariable Integer id){System.out.println("user delete..."+id);return "{'module':'user delete'}";}//修改@RequestMapping(value = "/users",method = RequestMethod.PUT)@ResponseBodypublic String update(){System.out.println("user update...");return "{'module':'user update'}";}//查询单个@RequestMapping(value = "/users/{id}",method = RequestMethod.GET)@ResponseBodypublic String getById(@PathVariable Integer id){System.out.println("user getById..."+id);return "{'module':'user getById'}";}//查询所有@RequestMapping(value = "/users",method = RequestMethod.GET)@ResponseBodypublic String getAll(){System.out.println("user getAll...");return "{'module':'user getAll'}";}}

然后可以利用postman或者网页访问进行验证:
http://localhost:8084/users/1,1就是id了。
如果对注解熟悉的话,那么我上面给出的代码有很多地方都是可以简化的,比如每个方法上面都会有@ResponseBody注解,这就可以和@Controller进行结合成@RestController注解,以下就是简化后的代码:

package cs.yangtze.controller;import cs.yangtze.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import javax.xml.ws.RequestWrapper;
import java.util.List;/*** @Version 1.0* @Author:cyl* @Date:2022/8/16* @Content:*/@RestController
@RequestMapping("/users")
public class UserController {@PostMappingpublic String save(@RequestBody List<User> users) {System.out.println("user save..." + users);return "{'module':'user save'}";}@DeleteMapping("/{id}")public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module':'user delete'}";}@PutMappingpublic String update() {System.out.println("user update...");return "{'module':'user update'}";}@GetMapping("{id}")public String getById(@PathVariable Integer id) {System.out.println("user getById..." + id);return "{'module':'user getById'}";}@GetMappingpublic String getAll() {System.out.println("user getAll...");return "{'module':'user getAll'}";}}

说一下我用postman进行Json格式的数据传递时遇到的一个小问题,我把User中的属性名给的是pwd,但我Json中的字段名确是password,这就是很经典的字段名不匹配,只需要在属性名上加上@JsonProperty(“json中的字段名”)即可。

Restful风格的五种基本操作相关推荐

  1. 阐述Linux操作系统之rpm五种基本操作

    Linux操作系统现在已经成为流行的操作系统,很多的人都开始学习,Linux操作系统包括了很多的专业知识,今天和大家讲讲Linux操作系统中的rpm基本操作.希望你学会本文中提到rpm的五种基本操作知 ...

  2. RestFul风格的四种常见操作(CRUD)

    GET.POST.PUT.DELETE GET:获取资源,相当于数据库的查询功能: POST:新建资源(也可更新资源),相当于数据库的增加功能: PUT:更新资源,相当于数据库的更新功能: DELET ...

  3. RESTful风格是什么

    RESTful风格是一种架构思想,而不是接口设计指南. RESTful以资源.状态转移等为核心概念来对业务建模及架构设计,适用于基于互联网的分布式系统,平时大家常说的接口地址要使用名词之类的规定只是为 ...

  4. Controller与RestFul风格

    1.Controller 在Controller类中使用注解后 视图解析器会自动将该类中返回值为String类型的方法进行解析 将返回的字符串进行url的拼接 在这里面需要注意的是 返回的字符串是需要 ...

  5. RESTful风格-走进RESTful

    RESTful 什么是API API (应用程序编程接口) 两种用法 类似jar的使用:A软件将功能打包成组件(功能块:比如java中的jar),让B软件导入直接使用 http请求方式:A项目(系统) ...

  6. 简单认识restful风格

    Rest风格 restful风格只是一种风格[或者习惯],不是标准 使用请求方式 使用RESTful操作资源 GET-----------查询用户信息 POST---------新建用户信息 PUT- ...

  7. ASP.NET Core RESTful风格学习总结(五万字持续更新)

    ASP.NET Core RESTful风格学习总结持 项目设置: 项目依赖: Dependencies文件夹: Microsoft.NETCore.App: Microsoft.AspNetXore ...

  8. Python之pyecharts:利用pyecharts(十五种风格)绘制2018年~2020年中国互联网Top巨头近三年市值(美元)柱状图

    Python之pyecharts:利用pyecharts(十五种风格)绘制2018年~2020年中国互联网Top巨头近三年市值(美元)柱状图 目录 pyecharts(十五种风格)绘制2018年~20 ...

  9. layuiajax提交表单控制层代码_究竟怎么用Restful风格编代码必看这篇。(二)

    点击上方"IT咸鱼",星标公众号每天分享技术栈,开发工具等 简单急记几个小点:RequestMapping注解的使用和里面涉及到的参数用途和写法 @RequestMapping(& ...

最新文章

  1. C语言经典算法 1-10
  2. 「后端小伙伴来学前端了」Vue中利用全局事件总线实现组件之间通信
  3. cordova自定义一个简单的alert的插件(android平台)
  4. percona-xtrabackup-8.0.7简单快捷使用
  5. filter solutions安装教程
  6. HDU 6127 Hard challenge(极角 + 二分)
  7. 终于明白如何去写原生AJAX
  8. 好象现在才开始热爱生活了
  9. 一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群
  10. C#两个窗体间的相互通信(转)
  11. 算法设计与分析第六章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
  12. gis怎么提取水系_ArcGIS提取水系并进行生态敏感性分析
  13. 计算机二级论文题,计算机二级考试真题-Word-小许-质量管理的论文
  14. python urlencode函数_Python urlencode和unquote函数使用实例解析
  15. e4a换行_这个易语言代码用E4A怎么写?
  16. 关于数学基础的研究现状
  17. 《歪笑小说》—— 读后总结
  18. 双像空间前方交会方法(一)---点投影系数方法
  19. 如何安装java环境和如何配置java环境
  20. 五子棋比赛程序对战平台

热门文章

  1. java三张扑克牌_java入门三—扑克牌简易游戏
  2. ‘@JvmDefault‘ is only supported since JVM target 1.8. Recompile with ‘-jvm-ta
  3. 360的快剪辑官网下载提示只能在64位位系统运行的解决方法
  4. 使用有道云笔记输入公式
  5. 为什么Java中float类型的取值范围大于long类型
  6. MTK MT6169 clock buffer XO3输出控制方法
  7. matlab绘制彩色多边形和灰色多边形
  8. 2019 AI算法岗求职攻略
  9. BMFont制作美术字体
  10. javaee-api的jar包地址