restapi如何传图片_如何设计restful风格接口
restful风格接口
URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。
识别(identify)、 表示(represent) 、交互(interact with)。
看Url就知道要什么看http method就知道干什么看http status code就知道结果如何
1. REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);
2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:
http://api.qc.com/v1/newsfeed: 获取某人的新鲜;
http://api.qc.com/v1/friends: 获取某人的好友列表;
http://api.qc.com/v1/profile: 获取某人的详细信息;
3. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
DELETE 用来删除资源。比如:
DELETE http://api.qc.com/v1/friends: 删除某人的好友 (在http parameter指定好友id)
POST http://api.qc.com/v1/friends: 添加好友
UPDATE http://api.qc.com/v1/profile: 更新个人资料
4. Server和Client之间传递某资源的一个表现形式,比如用JSON,XML传输文本,或者用JPG,WebP传输图片等。当然还可以压缩HTTP传输时的数据(on-wire data compression)。
5. 用 HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功,500 表示Server内部错误等。
1、REST 是面向资源的,这个概念非常重要,而资源是通过 URI 进行暴露。
比如:左边是错误的设计,而右边是正确的
GET /rest/api/getDogs --> GET /rest/api/dogs 获取所有小狗狗 GET /rest/api/addDogs --> POST /rest/api/dogs 添加一个小狗狗 GET /rest/api/editDogs/:dog_id --> PUT /rest/api/dogs/:dog_id 修改一个小狗狗 GET /rest/api/deleteDogs/:dog_id --> DELETE/rest/api/dogs/:dog_id 删除一个小狗狗
2、REST很好地利用了HTTP本身就有的一些特征,如HTTP动词、HTTP状态码、HTTP报头等等。
HTTP动词GET 获取一个资源 POST 添加一个资源 PUT 修改一个资源 DELETE 删除一个资源 HTTP状态码200 OK 400 Bad Request 500 Internal Server ErrorHTTP报头Authorization 认证报头 Cache-Control 缓存报头 Cnotent-Type 消息体类型报头 ......
怎么用RESTful
1、每个资源使用2个URL,网址中只能有名词
2、对于资源的操作类型由HTTP动词来表示
3、统一的返回结果
4、返回正确的状态码
5、允许通过HTTP内容协商,建议格式预定义为JSON
6、对可选发杂的参数,使用查询字符串(?)
7、返回有用的错误信息(message)
8、非资源请求用动词,这看起似乎和1中的说法有矛盾,但这里指的是非资源,而不是资源
-- 完 --
【推荐阅读】
我们计划免费招收300个学生学习人工智能专业
restapi如何传图片_如何设计restful风格接口相关推荐
- 『政善治』Postman工具 — 3、补充:restful风格接口的项目说明
补充:restful风格接口的项目说明 (一)RESTful架构风格特点 1.统一接口风格 http://服务器地址:端口号[/项目名称/版本/资源] http://:为我们HTTP协议的访问头标准. ...
- Java面试之RESTful风格接口
1.Restful风格接口简介: 答:Restful这个词,是一个外国人Roy Thomas Fielding在2000年提出的.这个Fielding将他对互联网软件的架构原则,定名为REST,即Re ...
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
一.SpringBoot 框架的特点 SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容器简 ...
- restful风格_什么是RESTful风格的API设计?
随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...
- 前端请求restful风格接口怎么传参_浅谈Restful API 的请求规范
前言 在SpringMVC架构上进行开发,开发者一直在使用jsp.valocity或者其他页面模版作为表现层面,前端工程师需要将设计师的设计图转换为静态的html页面,然后交付给后端将静态的html页 ...
- 如何设计RESTful风格API
REST -- REpresentational State Transfer 直译:表现层状态转移.这个中文直译经常出现在很多文章中.尼玛,谁听得懂"表现层状态转移",这是人话吗 ...
- 通俗易懂RESTful,如何设计RESTful风格API
REST – REpresentational State Transfer 直译:表现层状态转移.这个中文直译经常出现在很多文章中.尼玛,谁听得懂"表现层状态转移",这是人话吗? ...
- 抽象类和接口设计_如何设计类和接口
抽象类和接口设计 本文是我们名为" 高级Java "的学院课程的一部分. 本课程旨在帮助您最有效地使用Java. 它讨论了高级主题,包括对象创建,并发,序列化,反射等. 它将指导您 ...
- 什么是Restful风格接口?
写这篇文章的初衷是项目组的小伙伴不懂什么叫Restful. 1.定义:Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类 ...
最新文章
- 比特币黄金BTG遭遇51%算力攻击,即将归零?
- oracle 日累计月,Oracle按月份累计求和
- 游戏中的颜色:深度解析游戏设计工具
- python模块下载失败_python 安装tushare模块出错的一个解决方法
- 不用ajax实现动态分页,详解ajax +jtemplate实现动态分页
- 生成随机码,保存随机文件.
- 姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖
- 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战
- word2vec C源码解析
- Linux find 命令概览
- 《Mining Text Data》阅读笔记---第1章 An Introduction to Text Mining
- web前端入门笔记:JSON
- docker安装mySQL 8
- 会扫地炒菜,将来机器人当钟点工
- C语言编程入门——程序练习(下)
- widnows下lua开发环境luadist LuaRocks搭建
- windows系统引导配置命令
- 超级详细配置SSM (Intellij idea + Maven + Spring + SpringMVC + MyBatis + c3p0 )
- 【Git】Git入门
- 微信小程序超级占内存_实测:微信小程序占多少内存?或许真没有你想象的那么“小”!...
热门文章
- CSDN 2020博客之星投票进行中:送你喜爱的博主C位出道!
- 《统计学习方法》代码全解析——第四部分朴素贝叶斯
- js table多层嵌套_只会console.log?8个高效调试js的console方法
- c++ windows 蓝牙库_c++ - “是否有一个多操作系统蓝牙库?”后续:QT Linux到Windows 10蓝牙 - 堆栈内存溢出...
- 换了路由器电脑都连不上网了_换了新路由器电脑连不上网
- Facebook产品更新,官方通知你收到了吗?
- Leetcode每日一题:164.maximum-gap(最大间距)
- Java基础(六)——容器
- 机器学习实战(四)逻辑回归LR(Logistic Regression)
- MFC中App、Doc、MainFrame、View各指针的互相获取