[请益] 所以,到底什么是RESTful API?

楼主: thefattiger (LT)   2019-03-11 12:33:56
因为Web_Design板满冷清的所以来这边问
若不适当请告知
小弟不是Web领域的, 但也难免会碰到相关的东西
常听到写Web App的人会讲到这个名词
但查了一下资讯却还是摸不著头绪
估狗RESTful API 大概都是讲到一下几点
1.资源要用URL表示
这不是本来就这样的吗?
还是指别滥用query string?
关于query string与RESTful实在众说纷纭, 查了很久也找不到令人信服的答案
2.Server要回传对应的Http Status Code
这不是也本来就这样的吗?
3.用GET/POST/PUT等动词表达对资源的操作
意思是说, 本来只有GET/POST用法, 但其实还有PUT/PATCH/DELETE等等
应该要善加利用这些动词把操作分得更清楚?
4.Stateless
这也很常看到,但Http不是本来就Stateless的吗?
要记录state一般不都借助于session和cookie?
还是不RESTful的Api会有某种state?
5.资源传递的格式
这部分似乎不在RESTful的范围,可以是json也可以是XML
有Web领域的前辈可以指点一下吗?
RESTful真的很神秘, 问身边的人每个认为的重点都不太一样
作者: neo5277 (I am an agent of chaos)   2019-03-11 12:35:00
根据那八个动词要什么给你什么
作者: dreamnook (亚龙)   2019-03-11 12:44:00
一种写法http://bit.ly/2VScXgS就当作一种写法让api更清楚简洁吧O.O
作者: alan3100 (BOSS)   2019-03-11 13:05:00
好写易懂易串接
作者: crossdunk (推嘘自如)   2019-03-11 13:05:00
本来就要 然后咧 ? 要叫做什么成功的人本来就会比较容易受到注意,那干嘛还出一个名词叫做生存者偏差
作者: DrTech (竹科管理处网军研发人员)   2019-03-11 13:06:00
年轻人太多吧。古早时代的web URL或Http methods , 还真的是大家乱用一通。
作者: deray (Deray)   2019-03-11 13:11:00
你的google是不是坏掉了?
作者: alihue (wanda wanda)   2019-03-11 13:16:00
RESTful 只是一种规定,让原本大家天花乱坠的设计有一个最基本可依循的规则。没有什么新技术是没错
作者: AndCycle (AndCycle)   2019-03-11 13:17:00
上古时代是 http://网址/五四三?qwhat=我想干嘛就干嘛
作者: alihue (wanda wanda)   2019-03-11 13:17:00
举个例子,有人用 get 去删除资料
作者: iiiii (I take 5)   2019-03-11 13:23:00
就是面试官喜欢的,真心不骗,kernel里面一堆get也没人敢嘘Linus
作者: iceonly (只有冰)   2019-03-11 14:02:00
假设东西找不到,你的回应是什么?你没权限要求这东西,又要回应什么?要CRUD某个资源,你URL名字要怎么设计?没去读restful规范只会设计出一堆奇怪api,你以为RESTFUL其实一点也不RESTFUL
作者: pttworld (批踢踢世界)   2019-03-11 14:09:00
你去比较SOAP和RESTful差别就好了
作者: bibo9901 (function(){})()   2019-03-11 14:29:00
你发现精要了,restful就是随个人喜好实现你就算从来不知道RESTful这个字, 设计出的API也差不多这个样子. 但是HTTP API这个词太不潮了, 于是就有一个人把一些惯例或小技巧称之为REST. 就像design pattern一样.
作者: ken83924 (东东)   2019-03-11 14:37:00
推B大见解
作者: srxrrr (干!我是肌董)   2019-03-11 14:49:00
推这篇与B大解释 我一开始看restful也是满头问号不就跟HTTP API一样的东西吗XD
作者: superpai (超级白)   2019-03-11 14:52:00
你可以跟GraphQL 比较就知道蛮多点不是“本来就这样”
作者: fayhong (恰似飞鸿踏雪泥)   2019-03-11 15:03:00
https://goo.gl/e7fykr里头有一篇讲 ROA 架构的,根基就是 ReSTful建议先读看看,只是翻译不太通顺,我看了两三遍,还看了原文作者其他文章才厘清楚原作者要表达的是什么
作者: richard07250 (blazing)   2019-03-11 15:26:00
其实原po讲的那些 "理所当然"的东西 很多就是restfu规定的
作者: SFMAndroid (安卓发送)   2019-03-11 16:32:00
因为只讲API人家不一定知道你是指SOAP还是REST吧
作者: dreamnook (亚龙)   2019-03-11 16:38:00
用过SOAP就知道肥皂很难捡…QQ
作者: jack0204 (Jarbar王朝)   2019-03-11 17:01:00
就像Coding style的一个东西
作者: lemon651 (小明)   2019-03-11 17:44:00
你觉得很理所当然的东西是因为现今大家都照这个风格写API
作者: JustinHere (良葛格)   2019-03-11 18:07:00
作者: transforman   2019-03-11 19:31:00
推个
作者: oopFoo (3d)   2019-03-11 19:51:00
http://restcookbook.com/https://bit.ly/2IWgOnh其实就用graphql好了。要写对restful要花一点时间。
作者: TakiDog (多奇狗)   2019-03-11 19:52:00
GET 删除 GET 登入 天rrr
作者: shortoneal (不告诉你咧)   2019-03-11 20:08:00
没有本来就这样啊,以前接别人device api,一个GET打天下呢
作者: five07   2019-03-11 22:19:00
restful 不是规定,是概念和风格,第一点 url 资源的概念,并没有本来就这样,随便找都是群魔乱舞的命名
作者: kokal (细菌)   2019-03-11 22:49:00
HTTP standard有定,可是没多少人会去把HTTP standard看完呀
作者: TWTRubiks (阿哲)   2019-03-11 23:10:00
http://bit.ly/2tZRoyP (小弟我之前写的)
作者: senjor (哞哞)   2019-03-12 08:56:00
应该说很多人都把RESTful当成单纯的反射性API在用
作者: lgates (衰神附身的男人)   2019-03-12 18:50:00
推个 找google完我也是想问 阿不就这样..
作者: marsyang1 (Mars)   2019-03-12 19:39:00
推肥皂真的很难捡,会捡到翻脸
作者: mdkn35 (53nkdm)   2019-03-12 19:49:00
一个抽象 需要被实现
作者: questionboy (问题男孩)   2019-03-13 14:46:00
就另一种架构而已

Links booklink

Contact Us: admin [ a t ] ucptt.com