Restful简介

Restful一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

随着Restful风格的流行,现在更多的人叫HTTP接口为Restful接口。所以还是很有必要了解下Restful的一些基础约定的。

Rest架构的主要原则

网络上的所有事物都被抽象为资源,使用http方法表示具体操作,如下:

幂等的意思是说,多次相同的请求,数据是保持一致的。

restful实例参考

  • 非Restful之前的url风格

http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据

http://127.0.0.1/user/save POST 新增用户

http://127.0.0.1/user/update POST 修改用户信息

http://127.0.0.1/user/delete GET/POST 删除用户信息

  • RESTful风格的url

http://127.0.0.1/user/1 GET 根据用户id查询用户数据

http://127.0.0.1/user POST 新增用户

http://127.0.0.1/user PUT 修改用户信息

http://127.0.0.1/user DELETE 删除用户信息

SpringBoot构建Restful接口

基于上一节的项目。这里先不考虑参数接受问题,将会在下一讲详细讲解

  1. 新建一个UserController

并且在类上使用@RestController注解。

@RestController
@RequestMapping(value = "/api/v1/users")
public class UserController {}
复制代码

这就快速创建出了一个Controller,与SpringMVC不同的@Controller不同的是,这里使用了RestController注解,其效果等于Controller注解+ResponseBody注解的效果,即返回json格式的数据。

RequestMapping注解表示这个类的前置url。

  • PostMapping对应增
@PostMapping
public Object addUser() {// 新增一个用户return "OK";
}
复制代码

这里PostMapping不写url,表示这个接口地址为这个Controller的前置地址

  • GetMapping对应查
@GetMapping(value = "/{userId}")
public Object getUser(@PathVariable(value = "userId") Integer userId) {// 根据ID查找一个用户return "User";
}
复制代码
  • DeleteMapping对应删除
@DeleteMapping(value = "/{userId}")
public Object deleteUser(@PathVariable(value = "userId") Integer userId) {// 根据id删除一个用户return "OK";
}
复制代码
  • PutMapping对应更新
@PutMapping
public Object updateUser() {// 跟新return "OK";
}
复制代码

这里提一下PatchMapping,Patch请求方法也是更新操作,如果要细致的与PutMapping区分,则是PatchMapping对应部分更新,PutMapping对应整体覆盖的更新。

转载于:https://juejin.im/post/5d00e91d5188254ee433c3e1

【快学springboot】2.Restful简介,SpringBoot构建Restful接口相关推荐

  1. SpringBoot——JPA的使用、构建restful风格的JPA

    1.JPA概述 JPA:Java持久化规范.JPA(Java Persistence API)是Sun官方提出的Java持久化规范.为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的 ...

  2. SpringBoot 精通系列-使用Swagger2构建RESTful APIs

    导语   在之前的博客中曾经说过关于SpringBoot RESTful架构的知识,也提供了一个简单的小例子,当然在实际工作中更多的使用的是Swagger来实现一个RESTful的API.那么下面就来 ...

  3. 「快学springboot」SpringBoot多环境配置文件

    [原创] Happyjava 2019-06-18 07:01:00 往期文章 「快学Docker」Docker简介.安装和Hello World实现 「快学springboot」使用springbo ...

  4. springboot集成swagger2构建RESTful API文档

    在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...

  5. 框架:SpringBoot构建Restful service完成Get和Post请求

    SpringBoot构建Restful service完成Get和Post请求  一个基本的RESTful service最经常向外提供的请求Method就是Get和Post. 在Get中,常用的都会 ...

  6. jpa mysql乐观锁_【快学springboot】8.JPA乐观锁OptimisticLocking

    介绍 当涉及到企业应用程序时,正确地管理对数据库的并发访问是至关重要的.为此,我们可以使用Java Persistence API提供的乐观锁定机制.它导致在同一时间对同一数据进行多次更新不会相互干扰 ...

  7. 企业级SpringBoot教程(十一)springboot集成swagger2,构建Restful API

    swagger,中文"拽"的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容易构建restful风 ...

  8. springboot构建RESTful 风格应用

    Spring Boot 构建 RESTful 风格应用 1.Web开发的两种模式: 前后端不分离: 以前没有移动互联网时,我们做的大部分应用都是前后端不分的,比如jsp,或者thymeleaf等后端分 ...

  9. SpringBoot整合Swagger测试api构建

    @Author:SimpleWu 什么是Swagger? Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspec ...

  10. SpringBoot常用配置简介

    SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...

最新文章

  1. mybatis_基础篇
  2. Matlab学习一本通,matlab基础教程
  3. wxWidgets:wxGridSizeEvent类用法
  4. oracle数据库怎么删除数据库,oracle数据库如何删除 oracle数据库删除方法
  5. P1220-关路灯【区间dp】
  6. 系统搭建遇到问题3:Ubuntu问题造成网卡名称异常导致Vivado绑定网卡地址的Lic无法正常工作(JESD)...
  7. SQLServer 可更新订阅数据冲突的一个原因
  8. 用友v11服务器的共享文件,用友U8系列财务及供应链一体化操作手册u8V11.1(标准)版.docx...
  9. 数学建模之统计回归模型详解
  10. abap 日期格式转换
  11. Tukey‘s test方法 异常值
  12. 希腊字母发音表及所对应的Markdown KaTex代码
  13. 【脑图制作】万彩脑图大师教程 | 修改主题样式
  14. DSP之TMS320F28335学习总结与笔记(二)————ADC模块
  15. 再见2018,感谢你的一路陪伴
  16. wxPython PyQT
  17. java phrase_java-Maven无法部署工件,ReasonPhrase:Forbidden
  18. 德州扑克 C/C++
  19. jelly_Android Jelly Bean通知教程
  20. 科普 | 摆脱社交恐惧症?做这一件事就够了

热门文章

  1. layui 上传图片回显并点击放大实现
  2. IntelliJ IDEA设置不自动打开最后关闭的项目
  3. 这是用过的最差树形插件
  4. oracle常用的数据字典
  5. 互联网对实体经济的三轮冲击
  6. 这就是搜索引擎--读书笔记四--索引基础
  7. 用ASP设计购物推车
  8. struts 的radio标记的增强
  9. jstl有什么优势(简单介绍)
  10. CF1139D Steps to One