Java开发面试技巧,如何设计一个优雅的RESTFUL的接口
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的接口相关推荐
- rest 接口怎么传list_如何设计一个优雅的RESTFUL的接口
show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 一 .引入 设计接口是我们开发人员的日常操作.当我们把接口交给前端人员时, ...
- 2022年Java面试心得,如何设计一个优雅的RESTFUL的接口
一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...
- Java开发面试技巧,Hive-JDBC操作
Java是通过beeline来连接Hive的.启动beeline最重要的就是配置好hive-site.xml. 其中javax.jdo.option.ConnectionURL涉及到一个数据库,最好重 ...
- Java开发规范,不要新建一个类就实现Serializable接口
个人网站:http://xiaocaoshare.com/ 作为一名java开发者,细节决定技术的高度和深度 一个java类什么时候需要实现Serializable接口 1.什么是Serializab ...
- Java面试,如何设计一个秒杀系统
Java面试,如何设计一个秒杀系统说起秒杀,我想你肯定不陌生,从双十一购物到春节抢红包,再到逢年过节抢⻋票,"秒杀"的场景在我们的生活中处处可⻅.简单来说,秒杀就是在同一个时刻有大 ...
- 如何设计一个优雅健壮的Android WebView?,吊打面试官系列
}if (mIWebViewClient != null) {mIWebViewClient.onPageFinished(view, newProgress);} } } 可以看到,我们使用了`mP ...
- java培训面试技巧分享
很多人在学会java技术之后,就开始筹备自己的面试了,java技术在互联网行业的需求是很大的,所以内卷是很严重的,在面试环节一定要全力以赴才行,下面小编就教大家一些java培训面试技巧,希望能帮助到大 ...
- Java开发面试高频考点学习笔记(每日更新)
Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...
- Java开发面试简历这么写,命中率达70%
上篇文章我们了解到,想要有面试机会,首先要完成一份好的简历.但是在撰写简历的时候,往往有一些细节很容易被忽视,导致面试机会远远不如自己的期望值.一份经过优化的简历,面试的命中率可以达到70%.那我们就 ...
最新文章
- ptam tracking
- 图灵2010.03书讯
- 神经网络模型中class的forward函数何时调用_用Keras从零开始6步骤训练神经网络
- pandas dataframe column_Python数据分析——Pandas 教程(下)
- Codeforces 1206
- PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计
- mybatis教程--实现增删改查的入门教程
- Jsp中的动态INCLUDE和静态INCLUDE的区别?
- 页目录项和页表项——《x86汇编语言:从实模式到保护模式》读书笔记43
- 11gR2 RAC手动添加节点数据库实例
- [算法][算法复杂度]常用算法复杂度速查表
- 一名英格兰球迷眼里的本届英格兰队
- Job System之Hello World
- linux shell脚本关于文件存在与否的判断
- 前端开发人员需知——浏览器详解
- [转]导出数据到Excel的几种方法
- php浮点数用法,php中让人头疼的浮点数运算分析
- SCRT804安装教程
- 如何看待职场猝死?燕麦企业云盘教你9大绝招提升职场幸福感
- 简单线性回归的应用及画图(一)
热门文章
- Map、Set、List简介
- pybind传输list
- torch 列最大值
- Window ChromeDriver(简单4步完成)
- python JSON ValueError: Expecting property name: line 1 column 2 (char 1)
- Python的__pycache__文件夹
- BGP 路由属性 公认必遵 ORIGIN
- ubuntu 进入 recovery mode
- 190空难_印度空难有确诊者罹难,22名现场搜救人员惨中招
- android23 imei 权限,android------关于API 23的权限问题