HTTP 里面有几个基本的方法。我们利用这些约定一些规范。

方法 作用
GET 获取数据
POST 插入数据
PUT 更新数据
DELECT 删除数据

从表中,如果我们可以清楚看到当我们的接口是关于获取数据,那么我们使用 GET 方法。
如果我们可以清楚看到当我们的接口是关于插入数据,那么我们使用 POST 方法。
如果我们可以清楚看到当我们的接口是关于更新数据,那么我们使用 PUT 方法。
如果我们可以清楚看到当我们的接口是关于删除数据,那么我们使用 DELECT 方法。

3.2 名词

在上面我们已经知道接口在什么时候需要什么方法,那么我们现在来进入到设计接口的第二步。

我们看看线上网站的接口是怎么样的。

图中我们可以看到有个 v1 ,他代表的是版本号,所以我们在设计接口的时候可以在将版本号写上,用 v1、v2、v3 等表示。

我们发现他的接口都是名词。所以我们知道 RESTFUL 接口使用的是名词。比如我们设计一个获取数据的接口,我们可这样设计

/v1/list

上面接口是获取所有数据。

当我们需要列表中的一条数据,我们可以这样设计

/v1/list/1

上面接口表示获取是列表的1号数据,我们可以获取2号、3号数据等等,只要改变数字即可。

3.3 组合

结合上面两步,我们就可以设计出增删改查的 restful 接口了。

接口 方法 作用
/v1/list GET 获取列表
/v1/list POST 增加列表
/v1/list PUT 更新列表
/v1/list DELECT 删除列表

3.4 应用

以下是源码的demo

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
@RestController
@Slf4j
public class LsbRestfulApplication {public static void main(String[] args) {SpringApplication.run(LsbRestfulApplication.class, args);}/*** 得到所有列表* @return*/@RequestMapping(value = "/v1/list",method = RequestMethod.GET)public String getList(){log.info("得到列表");return "得到列表";}/*** 得到列表中的一条* @param name* @return*/@RequestMapping(value = "/v1/list/{name}",method = RequestMethod.GET)public String getListone(@PathVariable("name") String name){log.info("得到列表"+name);return "得到列表"+name;}/*** 往列表中的增加一条数据* @return*/@RequestMapping(value = "/v1/list",method = RequestMethod.POST)public String addList(){log.info("增加一个列表1");return "增加一个列表1";}# 最后更多Java进阶学习资料、2021大厂面试真题、视频资料可以**[点击这里获取到免费下载方式!](https://gitee.com/vip204888/java-p7)**学习视频:![](https://img-blog.csdnimg.cn/img_convert/999c8f14cc9ec8c050be272d6b5e5b29.png)大厂面试真题:载方式!](https://gitee.com/vip204888/java-p7)**学习视频:[外链图片转存中...(img-Fkg9NLbh-1628135115443)]大厂面试真题:![](https://img-blog.csdnimg.cn/img_convert/d055acbe7d27cdd2721c4a7019fd8180.png)

Java开发面试技巧,如何设计一个优雅的RESTFUL的接口相关推荐

  1. rest 接口怎么传list_如何设计一个优雅的RESTFUL的接口

    show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 一 .引入 设计接口是我们开发人员的日常操作.当我们把接口交给前端人员时, ...

  2. 2022年Java面试心得,如何设计一个优雅的RESTFUL的接口

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...

  3. Java开发面试技巧,Hive-JDBC操作

    Java是通过beeline来连接Hive的.启动beeline最重要的就是配置好hive-site.xml. 其中javax.jdo.option.ConnectionURL涉及到一个数据库,最好重 ...

  4. Java开发规范,不要新建一个类就实现Serializable接口

    个人网站:http://xiaocaoshare.com/ 作为一名java开发者,细节决定技术的高度和深度 一个java类什么时候需要实现Serializable接口 1.什么是Serializab ...

  5. Java面试,如何设计一个秒杀系统

    Java面试,如何设计一个秒杀系统说起秒杀,我想你肯定不陌生,从双十一购物到春节抢红包,再到逢年过节抢⻋票,"秒杀"的场景在我们的生活中处处可⻅.简单来说,秒杀就是在同一个时刻有大 ...

  6. 如何设计一个优雅健壮的Android WebView?,吊打面试官系列

    }if (mIWebViewClient != null) {mIWebViewClient.onPageFinished(view, newProgress);} } } 可以看到,我们使用了`mP ...

  7. java培训面试技巧分享

    很多人在学会java技术之后,就开始筹备自己的面试了,java技术在互联网行业的需求是很大的,所以内卷是很严重的,在面试环节一定要全力以赴才行,下面小编就教大家一些java培训面试技巧,希望能帮助到大 ...

  8. Java开发面试高频考点学习笔记(每日更新)

    Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...

  9. Java开发面试简历这么写,命中率达70%

    上篇文章我们了解到,想要有面试机会,首先要完成一份好的简历.但是在撰写简历的时候,往往有一些细节很容易被忽视,导致面试机会远远不如自己的期望值.一份经过优化的简历,面试的命中率可以达到70%.那我们就 ...

最新文章

  1. ptam tracking
  2. 图灵2010.03书讯
  3. 神经网络模型中class的forward函数何时调用_用Keras从零开始6步骤训练神经网络
  4. pandas dataframe column_Python数据分析——Pandas 教程(下)
  5. Codeforces 1206
  6. PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计
  7. mybatis教程--实现增删改查的入门教程
  8. Jsp中的动态INCLUDE和静态INCLUDE的区别?
  9. 页目录项和页表项——《x86汇编语言:从实模式到保护模式》读书笔记43
  10. 11gR2 RAC手动添加节点数据库实例
  11. [算法][算法复杂度]常用算法复杂度速查表
  12. 一名英格兰球迷眼里的本届英格兰队
  13. Job System之Hello World
  14. linux shell脚本关于文件存在与否的判断
  15. 前端开发人员需知——浏览器详解
  16. [转]导出数据到Excel的几种方法
  17. php浮点数用法,php中让人头疼的浮点数运算分析
  18. SCRT804安装教程
  19. 如何看待职场猝死?燕麦企业云盘教你9大绝招提升职场幸福感
  20. 简单线性回归的应用及画图(一)

热门文章

  1. Map、Set、List简介
  2. pybind传输list
  3. torch 列最大值
  4. Window ChromeDriver(简单4步完成)
  5. python JSON ValueError: Expecting property name: line 1 column 2 (char 1)
  6. Python的__pycache__文件夹
  7. BGP 路由属性 公认必遵 ORIGIN
  8. ubuntu 进入 recovery mode
  9. 190空难_印度空难有确诊者罹难,22名现场搜救人员惨中招
  10. android23 imei 权限,android------关于API 23的权限问题