RESTful API接口规范及使用
RESTful API接口规范及使用
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。
- 非Rest设计,以往我们都会这么写:以不同的URL进行不通的操作
@RestController
@RequestMapping("/user")
@Api(tags = "用户管理模块")
public class UserController{@Resourceprivate UserService userService;/** 添加用户 */@RequestMapping("/addUser")public String addUser(User user){return userService.addUser(user);}/** 删除用户 */@RequestMapping("/deleteUser")public String deleteUser(String userId){return userService.deleteUser(user);}/** 修改用户 */@RequestMapping("/updateUser")public String updateUser(User user){return userService.updateUser(userId);}/** 查询用户 */@RequestMapping("/queryUser")public User queryUser(String userId){return userService.queryUser(userId);}
}
http://localhost:8080/user/addUser(添加用户)
http://localhost:8080/user/deleteUser (删除用户)
http://localhost:8080/user/updateUser (更新用户)
http://localhost:8080/user/queryUser (查询用户)
- Rest架构:
- 在我们定义一个接口的URL时,可以通过以下两种方式实现
- 第一种方式:指定请求方式
@RequestMapping(value ="/user", method = RequestMethod.GET)
查询@RequestMapping(value ="/user", method = RequestMethod.POST)
添加或修改@RequestMapping(value ="/user", method = RequestMethod.PUT)
修改@RequestMapping(value ="/user", method = RequestMethod.DELETE)
删除
- 第二种方式:使用特定的请求方式注解
@PostMapping("/user")
添加或修改@DeleteMapping("/user/{userId}")
删除@PutMapping("/user")
修改@GetMapping("/user/{userId}")
查询
@RestController
@RequestMapping("/admin")
@Api(tags = "用户管理模块")
public class UserController{@Resourceprivate UserService userService;/**添加用户*/@PostMapping("/user")@RequestMapping(value = "/user", method = RequestMethod.POST)public String addUser(User user){return userService.addUser(user);}/**删除用户*/@DeleteMapping("/user/{userId}")@RequestMapping(value ="/user", method = RequestMethod.DELETE)public String deleteUser(@PathVariable("/userId")String userId){return userService.deleteUser(userId);}/**修改用户*/@PutMapping("/user")@RequestMapping(value ="/user", method = RequestMethod.PUT)// @PostMapping("/user") // 也可以用 PostMapping// @RequestMapping(value = "/user", method = RequestMethod.POST)public String updateUser(User user){return userService.updateUser(user);}/**查询用户*/@GetMapping("/user/{userId}")@RequestMapping(value ="/user", method = RequestMethod.GET)public User queryUser(@PathVariable("/userId")String userId){return userService.queryUser(userId);}
}
http://locahost:8080/admin/user/1 (查询用户ID为1的数据信息)
http://localhost:8080/admin/user/1 (删除用户ID为1的数据信息)
- RESTfui API接口响应的资源(返回给前端的数据格式)的表现形式为
JSON
或XML
- 方式一:在控制类(controller类)上添加
@ResponseBody
注解 - 方式二:在每个接口的方法上添加
@ResponseBody
注解 - 方式三:直接在控制类(controller类)使用
@RestController注解
- 方式一:在控制类(controller类)上添加
- 前端通过无状态的http协议与后端进行接口交互
- 无状态:每一次请求都是独立的,每一次请求都不会有请求记录
- 状态码
200:服务器成功返回用户请求的数据,该操作是幂等的。
201:用户新建或修改数据成功。
202:表示一个请求已经进入后台排队(异步任务)
204:用户删除数据成功。
301:永久重定向
302:暂时重定向
400:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
401:表示用户没有权限(令牌、用户名、密码错误)。
403:表示用户得到授权(与401错误相对),但是访问是被禁止的。
404:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
406:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
410:用户请求的资源被永久删除,且不会再得到的。
422:当创建一个对象时,发生一个验证错误。
500:服务器发生错误,用户将无法判断发出的请求是否成功。
RESTful API接口规范及使用相关推荐
- RESTful API接口规范
RESTful规范 Restful API是目前比较成熟的一套互联网应用程序的API设计理念,Rest是一组架构约束条件和原则,如何Rest约束条件和原则的架构,我们就称为Restful架构,Rest ...
- restful api接口规范_如何理解RESTful API设计规范?
作者:涂根华 https://www.cnblogs.com/tugenhua0707/p/12153857.html RESTful是目前最流行的API设计规范,它是用于Web数据接口的设计.从字面 ...
- restful api接口规范_Restful API设计规范
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义.RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源 ...
- Restful API思路
1.通过服务器重写规则,将所有请求走一个入口方法,例如index.php的run()方法. 2.通过$_SERVER,找到请求方法,请求路径,请求参数,进行初始化参数 3.根据请求路径,走不同mode ...
- Restful API 的接口规范
发展背景及简介 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备-).因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致 ...
- put url带参数_避免自己写的 url 被diss!建议看看这篇RESTful API简明教程!
RESTful API 是每个程序员都应该了解并掌握的基本知识,我们在开发过程中设计 API 的时候也应该至少要满足 RESTful API 的最基本的要求(比如接口中尽量使用名词,使用 POST 请 ...
- php restful规范,RESTFul API规范 详细指南
RESTFul规范 RESTFul是一种HTTP API接口规范,只要满足的RESTFul规范,即可称为RESTFul API. 既然是接口,我们先来了解一下,他和传统的API接口有何不同吧. 本文以 ...
- 使用CodeIgniter框架搭建RESTful API服务
RESTful不仅仅是一套协议标准更是一种设计思路. 在2011年8月的时候,我写了一篇博客<使用CodeIgniter框架搭建RESTful API服务>,介绍了RESTful的设计概念 ...
- RESTful API接口设计规范
目录 一.RESTful的诞生背景 二.什么是RESTful? 三.Restful API接口设计规范 3.1.协议 3.2.路径规则|域名 3.3.版本控制 3.4.请求类型 3.5.传入参数 3. ...
最新文章
- 忘了python关键语句?这份备忘录拯救你的记忆
- java 自然语言处理_Java自然语言处理
- 如何为linux释放内存和缓存
- mybatis学习笔记
- 装车机器人_智造春天脚步近 青岛这家机器人公司着手打造模块化、标准化技术平台...
- java学习(16):巩固练习
- java 带宽控制_如何使用Java netty正确限制带宽使用?
- mysql如何进行分组操作的_mysql group by 对多个字段进行分组操作
- 国土空间适宜性评价与承载力评价之间的逻辑关系是什么?
- C++ MFC WebBrowser 探索(二)
- C#多线程学习(五) 多线程的自动管理(定时器)
- dump的文件 查看pg_【PG备份恢复】pg_dump命令测试
- 京东基础架构部招聘GO/JAVA架构师两名(T7+)
- 多媒体计算机未来发展的方向,计算机多媒体技术发展趋势
- linux授读写权限,Linux系统中,设定资料读写权限
- PISCES P4-vSwitch 安装以及一次失败的测试
- 建造智能食用菌大棚,用菌菇养殖管理系统管理温室
- 一对一直播源码是什么?一对一直播平台如何成功搭建?
- 新手爬取51job,智联,boss网站职位信息总结和代码(小杜总结)
- Zigbee入门指导(二)